dart 使用日期格式生成“2016年12月28日17:43:47.345Z”

baubqpgj  于 2023-03-15  发布在  其他
关注(0)|答案(2)|浏览(153)

我一直在研究上述问题,大部分都是正确的。
我将获得一个祖鲁语的日期时间,然后将希望输出该格式。
我的第一次尝试就像这样简单:

DateFormat format = new DateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");

我的问题是TZ。显然T是用来分隔日期和时间的,Z是祖鲁时间的代表。
也就是说,用户将输入一个祖鲁语的日期时间,所以它不需要从本地转换为祖鲁语,所以我不确定'Z'是否是一个可接受的结果。我不确定是否有一个不同的想要处理这个问题,或者我的结果是否是最好的答案。

x7rlezfr

x7rlezfr1#

DateTime对象具有一个名为的方法:toIso8601String,用于返回ISO格式的字符串。如果isUTC为true,则将添加“Z”,否则结果中将不包含Z。
确保DateTime对象本身被正确地设置为UTC,就好像您查看该类的构造函数时会发现除了DateTime.utc()静态函数之外,许多默认值都是本地的。
在这个概念中,您实际上不需要使用DateFormat来定义iso字符串。

vsikbqxv

vsikbqxv2#

试试这个软件包Jiffy

String isoFomart = Jiffy.now().format(); // This will return ISO format from now

还可以添加DateTime对象

String isoFomart = Jiffy.parseFromDateTime(DateTime.now()).format(); // This will also return ISO format from now

希望这对你有帮助

相关问题