将纪元时间转换为时间戳颤动

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

以上是关于将纪元时间转换为时间戳颤动的主要内容,如果未能解决你的问题,请参考以下文章

将纪元时间(以毫秒为单位)转换为时间戳到 UTC 错误

php怎么将指定日期转换为时间戳

如何将日期和时间转换为时间戳

将日期和时间转换为时间戳 [重复]

如何使用 C#/.NET 将日期时间转换为时间戳(忽略当前时区)

如何将日期时间转换为时间戳 Python