将DateTime转换为ISO 8601

时间:2014-02-15 15:03:32

标签: datetime dart

在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” - 我可以轻松地为此编写自己的函数,只是想知道核心库中是否已经存在这个函数?

DateTime.parse已经支持ISO 8601到DateTime的另一个方向。

编辑看起来Dart团队现在正在添加此内容,请参阅here

3 个答案:

答案 0 :(得分:3)

核心库不支持DateTime上的toIso8601()。自己做起来相对容易,但我同意Iso8601和Rfc-2311应该作为特殊的toStrings支持。

同样,解析函数也应该接受Rfc-2311。

答案 1 :(得分:3)

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

答案 2 :(得分:1)

使用:

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