如何在飞镖中正确转换时间
How to convert correctly only time in dart
我有这样的字符串
String time = '13:00:00Z'; (Zulu time)
我想在正确的本地时间将其转换为字符串。
例如,如果我执行程序,我想要 15:00 作为结果,因为 13:00 在我的本地时间是 15:00.
我收到错误“FormatExeption:无效的日期格式”,无论我在 DateFormat
中输入什么
您可以将当前日期添加到时间字符串之前,然后使用 toLocal()
将其转换为您的本地时间:
DateTime date = DateTime.now();
String formattedDate = DateFormat('yyyy-MM-dd').format(date);
String time = "13:00:00Z";
DateTime dt = DateTime.parse(formattedDate + "T" + time).toLocal();
String formattedTime = DateFormat('HH:mm').format(dt);
print(formattedTime);
(DateFormat
来自 intl package)
我有这样的字符串
String time = '13:00:00Z'; (Zulu time)
我想在正确的本地时间将其转换为字符串。
例如,如果我执行程序,我想要 15:00 作为结果,因为 13:00 在我的本地时间是 15:00.
我收到错误“FormatExeption:无效的日期格式”,无论我在 DateFormat
中输入什么您可以将当前日期添加到时间字符串之前,然后使用 toLocal()
将其转换为您的本地时间:
DateTime date = DateTime.now();
String formattedDate = DateFormat('yyyy-MM-dd').format(date);
String time = "13:00:00Z";
DateTime dt = DateTime.parse(formattedDate + "T" + time).toLocal();
String formattedTime = DateFormat('HH:mm').format(dt);
print(formattedTime);
(DateFormat
来自 intl package)