datetime - 如何使用 UTC 时区偏移格式化 DateTime?
问题描述
这是什么类型的日期格式?
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。我应该使用哪个?
解决方案
到目前为止,还没有直接的方法可以获得这种日期格式。有一个解决方法。
- 添加国际包
- 使用将其导入您的文件
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);
推荐阅读
- javascript - 使用带有 react-intersection-observer 的谷歌地图 google-maps-react npm 包来增加灯塔分数
- arrays - Hiw 在 Ruby 中合并数组中的元素集
- jquery - Asp.Net Mvc jQuery Datatable RowOrder Drag&Drop 和 Id 问题
- python - 如何在 GridSearchCV 中使用 TransformedTargetRegressor?
- ios - UISplitViewController 内的 iOS 13 UITabBarController 未正确折叠
- r - R:查找“for”循环
- python - Python/Django:尝试导入 urls.py 时没有名为“xx.xx”的模块
- text - Odoo 12 CE,Qweb-text 报告包含所有 HTML 模板代码
- javascript - 从文件服务器中的文件创建 https:// 引用
- ios - compileKotlinIos FAILED - 找不到标准库