使用DateFormat生成一个;2016-12-28T17:43:47.345Z“;

使用DateFormat生成一个;2016-12-28T17:43:47.345Z“;,date,datetime,datepicker,format,dart,Date,Datetime,Datepicker,Format,Dart,我一直在看上面的问题,大部分都是正确的 我将在Zulu中获得一个日期时间,然后希望输出该格式 我的第一步非常简单: DateFormat format = new DateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); 我的问题是T和Z。很明显,T用来区分日期和时间,Z代表祖鲁时间 也就是说,用户将在Zulu中输入日期时间,因此不需要将其从本地转换为Zulu,因此我不确定'Z'是否是一个可接受的结果。我不确定是否有其他人想要处理这个问题,或者我的结果是否是最佳答

我一直在看上面的问题,大部分都是正确的

我将在Zulu中获得一个日期时间,然后希望输出该格式

我的第一步非常简单:

DateFormat format = new DateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
我的问题是
T
Z
。很明显,T用来区分日期和时间,Z代表祖鲁时间

也就是说,用户将在Zulu中输入日期时间,因此不需要将其从本地转换为Zulu,因此我不确定
'Z'
是否是一个可接受的结果。我不确定是否有其他人想要处理这个问题,或者我的结果是否是最佳答案。

试试这个软件包

您还可以添加DateTime对象

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

希望这有帮助

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

确保DateTime对象本身被正确设置为UTC,就好像您在类的构造函数中查找时,会告诉您除了DateTime.UTC()静态函数外,许多默认值都是本地的


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

那么您真的只需要将DateTime转换为iso 8601格式的字符串表示形式吗???DateTime.toIso8601String()不能满足您的需要,这有什么原因吗?我不熟悉ISO 8601这个术语。如果这是格式,我将使用它。
String isoFomart = Jiffy(DateTime.now()).format(); // This will also return ISO format from now