使用DateFormat生成" 2016-12-28T17:43:47.345Z"

时间:2016-12-28 20:03:19

标签: date datetime datepicker format dart

我一直在研究上述问题,并且大部分都是正确的。

我将在祖鲁语中获得一个日期时间,然后将输出该格式。

我的第一步就是:

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

我遇到的问题是TZ。显然,T用于将日期与时间分开,Z代表祖鲁时间。

据说用户将在祖鲁语中输入日期时间,所以它不需要从Local转换为Zulu,所以我不确定'Z'是否是可接受的结果。我不确定是否有不同的想要处理这个,或者我的结果是最好的答案。

2 个答案:

答案 0 :(得分:0)

尝试使用此软件包Jiffy

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

您还可以添加DateTime对象

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

希望这对您有帮助

答案 1 :(得分:0)

DateTime对象具有一个称为toIso8601String的方法,该方法用于返回ISO格式的字符串。如果isUTC为true,则将添加“ Z”,否则结果中将没有Z。

请确保将DateTime对象本身正确设置为UTC,就像您在该类的构造函数中查看时一样,这将告诉您许多默认值是本地的,但DateTime.utc()静态函数除外。

在这个概念中,您实际上不需要使用DateFormat来定义iso字符串。