我正在尝试将 UTC 日期字符串解析为DateTime
然后将其解析为本地时间,但是我在将其转换为本地时间时遇到了麻烦。在英国它应该加一,但是当我打印时.isUtc
它返回为 false。
这就是我现在所拥有的:
print(widget.asset.purchaseDate);
DateTime temp = DateTime.parse(widget.asset.purchaseDate);
print(temp.toLocal());
I/flutter (5434): 2020-05-07 21:29:00
I/flutter (5434): 2020-05-07 21:29:00.000
您需要指定时区DateTime.parse
,否则假定当地时间。来自 dartdoc:
可选的时区偏移部分,可能与
前面加一个空格。时区是“z”或“Z”,或者是
带符号的两位数小时部分和可选的两位数分钟部分。
由于您知道您的字符串代表 UTC,因此您可以通过添加以下内容来告诉解析器Z
suffix.
var temp = DateTime.parse(widget.asset.purchaseDate + 'Z');
print(temp.isUtc); // prints true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)