Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 将历元时间转换为时间戳颤振_Date_Flutter_Dart - Fatal编程技术网

Date 将历元时间转换为时间戳颤振

Date 将历元时间转换为时间戳颤振,date,flutter,dart,Date,Flutter,Dart,我有一个纪元格式的日期时间:1633247 我想把它转换成这样的时间戳:2021年10月3日星期日或2021年10月3日 我正在写这段代码 final DateTime timeStamp = DateTime.fromMillisecondsSinceEpoch(1633247247); final DateTime timeStamp = DateTime.fromMillisecondsSinceEpoch(1633247247 * 1000); 但是它正在返回1970-01-19 1

我有一个纪元格式的日期时间:1633247

我想把它转换成这样的时间戳:2021年10月3日星期日或2021年10月3日

我正在写这段代码

final DateTime timeStamp = DateTime.fromMillisecondsSinceEpoch(1633247247);
final DateTime timeStamp = DateTime.fromMillisecondsSinceEpoch(1633247247 * 1000);
但是它正在返回1970-01-19 18:25:11.247

编辑我运行了这个代码

final DateTime timeStamp = DateTime.fromMillisecondsSinceEpoch(1633247247);
final DateTime timeStamp = DateTime.fromMillisecondsSinceEpoch(1633247247 * 1000);
已在datetime中获取输出。我现在正试图转换成字符串

String formattedDate = DateFormat('yyyy-MM-dd – kk:mm').format(date);

它给出了此错误
无法在初始值设定项中访问实例成员“date”。

它表示毫秒,您需要将其乘以1000,如下所示:

最终日期时间戳=日期时间。从毫秒到新纪元(1633247*1000)


看起来你的时间是“从纪元算起的秒数”,所以只要乘以1000就可以得到正确的时间

final DateTime timeStamp = DateTime.fromMillisecondsSinceEpoch(1633247247 * 1000);

您需要使用日期时间格式。您可以在此处找到解决方案:


下载并导入

Saturday 3 oct 2:07:29

初始化变量

String datetime;
获取当前日期和转换

Future<void> Datetimes() async{
  setState(() {
    DateTime now = DateTime.now();
    String formattedDate = DateFormat('EEEE d MMM hh:mm:ss').format(now);
    datetime=formattedDate;
  });
}
有关更多格式参数,请参阅DateandTime类

如何传递当前值?您是指格式化的日期,如果是,您可以访问
datetime
变量anywhere@ajay131this返回null您是否在initState()中调用了
Datetimes
函数@ajay131是否下载并导入了该包,如果完成,请尝试以下操作,
Text(datetime.toString())然后
运行
flatter clean
并再次运行@ajay131