将纪元时间转换为时间戳颤动
Posted
技术标签:
【中文标题】将纪元时间转换为时间戳颤动【英文标题】:Convert epoch time into timestamp flutter 【发布时间】:2021-01-18 18:17:17 【问题描述】:我有一个纪元格式的日期时间:1633247247
我想将其转换为这样的时间戳:2021 年 10 月 3 日星期日或 2021 年 10 月 3 日
我正在写这段代码
final DateTime timeStamp = DateTime.fromMillisecondsSinceEpoch(1633247247);
但它正在返回 1970-01-19 18:25:11.247
编辑我运行了这段代码
final DateTime timeStamp = DateTime.fromMillisecondsSinceEpoch(1633247247 * 1000);
得到日期时间的输出。我现在正在尝试转换为字符串
String formattedDate = DateFormat('yyyy-MM-dd – kk:mm').format(date);
它给出了这个错误The instance member 'date' can't be accessed in an initializer.
【问题讨论】:
【参考方案1】:它以毫秒为单位,您需要将它与 1000 相乘,如下所示:
最终日期时间时间戳 = DateTime.fromMillisecondsSinceEpoch(1633247247 * 1000);
【讨论】:
【参考方案2】:您的时间似乎是“自纪元以来的秒数”,因此只需乘以 1000 即可得出正确的时间。
final DateTime timeStamp = DateTime.fromMillisecondsSinceEpoch(1633247247 * 1000);
【讨论】:
【参考方案3】:您需要使用日期时间格式。您可以在这里找到解决方案:
https://***.com/a/51579740/11604909
【讨论】:
【参考方案4】:下载和导入
intl Pacakge
import 'package:intl/intl.dart';
初始化变量
String datetime;
获取当前日期和转换
Future<void> Datetimes() async
setState(()
DateTime now = DateTime.now();
String formattedDate = DateFormat('EEEE d MMM hh:mm:ss').format(now);
datetime=formattedDate;
);
输出
Saturday 3 oct 2:07:29
更多格式参数请参考 DateandTime 类 DateFormat-class
【讨论】:
如何传递我的当前值? 你的意思是格式化的日期,如果是你可以在任何地方访问datetime
变量@ajay131
这将返回 null
你有没有在initState()@ajay131中调用Datetimes
函数
你下载包并导入了吗,如果完成了,试试这个,Text(datetime.toString()) then
run flutter clean
然后再次运行@ajay131以上是关于将纪元时间转换为时间戳颤动的主要内容,如果未能解决你的问题,请参考以下文章