如何将 UTC 日期时间字符串转换为 Dart 中的本地日期时间?
How to convert an UTC datetime string into a local datetime in Dart?
我从 API 2022-03-15T02:33:53.488427
中得到这个值,它是一个代表 UTC 时间戳的字符串,我当前的时区时间是 UTC-5,我正在尝试这个代码:
createdAt = DateTime.tryParse('2022-03-15T02:33:53.488427').toLocal();
但是 createdAt
包含与原始字符串相同的日期时间,我缺少什么?
字符串 2022-03-15T02:33:53.488427 不包含时区。所以要告诉 Dart 您希望这是 UTC 时间,然后将“Z”附加到字符串。然后它知道现在是祖鲁时间。否则它会假设你在解析它时是在当地时间。
尝试
createdAt = DateTime.tryParse('2022-03-15T02:33:53.488427Z').toLocal();
使用 print(createdDate?.timeZoneName) 确认 UTC 或您的本地
我从 API 2022-03-15T02:33:53.488427
中得到这个值,它是一个代表 UTC 时间戳的字符串,我当前的时区时间是 UTC-5,我正在尝试这个代码:
createdAt = DateTime.tryParse('2022-03-15T02:33:53.488427').toLocal();
但是 createdAt
包含与原始字符串相同的日期时间,我缺少什么?
字符串 2022-03-15T02:33:53.488427 不包含时区。所以要告诉 Dart 您希望这是 UTC 时间,然后将“Z”附加到字符串。然后它知道现在是祖鲁时间。否则它会假设你在解析它时是在当地时间。 尝试
createdAt = DateTime.tryParse('2022-03-15T02:33:53.488427Z').toLocal();
使用 print(createdDate?.timeZoneName) 确认 UTC 或您的本地