这是什么类型的日期格式?
2020-03-26T00:57:08.000+08:00
我在用着日期格式 https://api.flutter.dev/flutter/intl/DateFormat-class.html class
DateTime dateTime = DateTime.now();
print(dateTime.toIso8601String());
print(dateTime.toLocal());
print(dateTime.toUtc());
Output
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。我应该使用哪个?
目前还没有直接的方法来获取这种日期格式。有一个解决方法。
- Add the intl https://pub.dev/packages/intl package
- 使用将其导入到您的文件中
import 'package:intl/intl.dart';
- 编写以下代码:
var dateTime = DateTime.now();
var val = DateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS").format(dateTime);
var offset = dateTime.timeZoneOffset;
var hours = offset.inHours > 0 ? offset.inHours : 1; // For fixing divide by 0
if (!offset.isNegative) {
val = val +
"+" +
offset.inHours.toString().padLeft(2, '0') +
":" +
(offset.inMinutes % (hours * 60)).toString().padLeft(2, '0');
} else {
val = val +
"-" +
(-offset.inHours).toString().padLeft(2, '0') +
":" +
(offset.inMinutes % (hours * 60)).toString().padLeft(2, '0');
}
print(val);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)