将日期时间转换为ISO 8601格式

18
在Dart中,我如何将DateTime转换为其ISO 8601表示形式?只需要执行以下操作:
var dt = new DateTime.now();
print (dt.toString());

生产
2014-02-15 08:57:47.812

这并不完全符合ISO 8601标准, 正确的应该是

2014-02-15T08:57:47.812

只有“T”缺失 - 我可以轻松地为此编写自己的函数,只是想知道这是否已经存在于核心库中?

另一方面,ISO 8601转换为DateTime已经被DateTime.parse支持。

编辑看起来Dart团队正在添加此功能,请见此处

3个回答

30

使用:

DateTime now = DateTime.now();
String isoDate = now.toIso8601String();

8

现在DateTime类有一个toIso8601String()方法。


2
核心库目前还不支持DateTime类型的toIso8601()方法。但是,您自己编写这个方法也相对容易,但我认为应该支持Iso8601和Rfc-2311作为特殊的toStrings。同样地,parse函数也应该接受Rfc-2311。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接