我是Dart的新手。 目前我面临的一个问题是如何将我的日期时间格式化以显示基于设备时区的时间。 有人能指导我如何实现吗? 我的当前代码如下:
DateFormat('dd MMM yyyy hh:mm')
输出样例: 2019年3月11日07:04
期望结果: 我的设备当前使用的是GMT+8时区,我希望它显示为2019年3月11日15:04。
请指导。 谢谢!!
我是Dart的新手。 目前我面临的一个问题是如何将我的日期时间格式化以显示基于设备时区的时间。 有人能指导我如何实现吗? 我的当前代码如下:
DateFormat('dd MMM yyyy hh:mm')
输出样例: 2019年3月11日07:04
期望结果: 我的设备当前使用的是GMT+8时区,我希望它显示为2019年3月11日15:04。
请指导。 谢谢!!
将UTC转换为本地时区:
import 'package:intl/intl.dart';
var dateValue = new DateFormat("yyyy-MM-ddTHH:mm:ssZ").parseUTC("2020-06-14T18:55:21Z").toLocal();
String formattedDate = DateFormat("dd MMM yyyy hh:mm").format(dateValue);
debugPrint("formattedDate = "+formattedDate);
DateFormat('dd MMM yyyy hh:mm').format(myDate.toLocal())
我从 Laravel API 获取了数据
Laravel 中的 dateTimeUTC 形式为 2021-05-21T17:33:24.000000Z
import 'package:intl/intl.dart';
String dateTime = "2021-05-21T17:33:24.000000Z" // String datetime UTC zone
DateTime parsedDateFormat = DateFormat("yyyy-MM-ddTHH:mm:ssZ").parseUTC(dateTime).toLocal(); // parse String datetime to DateTime and get local date time
String formatedDateTime = DateFormat.yMd().add_jm().format(parsedDateFormat).toString(); // convert local date time to string format local date time
// output is 5/21/2021 11:03PM
安装intl包,然后使用DateFormat。
import 'package:intl/intl.dart';
final dateFormatter = DateFormat('d MMMM yyyy hh:mm');
print(dateFormatter.format(your_date_time_object));