这是什么类型的日期格式?
2020-03-26T00:57:08.000+08:00
字符串
我正在使用DateFormat类
DateTime dateTime = DateTime.now();
print(dateTime.toIso8601String());
print(dateTime.toLocal());
print(dateTime.toUtc());
型
输出
I/flutter (20667): 2020-03-26T01:34:20.826589
I/flutter (20667): 2020-03-26 01:34:20.826589
I/flutter (20667): 2020-03-25 17:34:20.826589Z
型
我想有一个日期格式,就像我显示的第一个输出一样,后面有+08:00。我应该使用哪种格式?
5条答案
按热度按时间t3irkdon1#
到目前为止,还没有直接的方法来获得这种日期格式。
import 'package:intl/intl.dart';
将其导入到文件字符串
yqlxgs2m2#
这是什么日期格式?
2020-03-26T00:57:08.000+08:00
这种日期时间格式遵循RFC 3339标准,更一般地说是ISO 8601标准。字母“T”被称为时间指示符。“+08:00”被称为UTC时区偏移。
我想有一个日期格式[.],其中有+08:00后面
您可以将UTC小时和分钟偏移附加到日期时间:
字符串
我正在使用DateFormat类
DateFormat(https://api.flutter.dev/flutter/intl/DateFormat-class.html)不会格式化UTC时区偏移量。虽然文档中的字母“Z”似乎提供了UTC时区偏移量,但它是保留的,您不能使用
DateFormat("Z")
,因为它会引发未实现的错误(https://api.flutter.dev/flutter/dart-core/UnimplementedError-class.html)。请注意,“Z”(发音为“zulu”)代表零子午线时间,UTC时区偏移量为+0:00。xwbd5t1u3#
这是什么类型的日期格式?
此格式为UTC +时区偏移。
+08:00是已经添加的时区偏移。
似乎
DateTime
不包含时区信息,因此,您无法在特定时区中创建DateTime。只有系统的时区和UTC可用。DateTime
支持时区偏移来进行解析,但将其规范化为UTC或本地时间。因此,由于这是UTC,您可能可以使用
toUtc
或toLocal
对其进行格式化,并且接收方将能够解析它。也就是说,你可以简单地像这样解析它:
字符串
nlejzf6q4#
使用方法
toLocal()
和toUtc()
获取在其他时区中指定的等效日期/时间值阅读更多https://api.flutter.dev/flutter/dart-core/DateTime-class.html
muk1a3rh5#
我试过了,
使用package:intl:^0.17.0
字符串
输出量:
型