flutter - GMT 时间字符串到 Dart 中的 DateTime
问题描述
我想将字符串转换为DateTime
飞镖。我试过,
String timeVal = "Thu, 25 Mar 2021 19:29:28 GMT";
DateTime.parse(timeVal);
但得到一个例外,
FormatException(FormatException:无效的日期格式 Thu, 25 Mar 2021 19:29:28 GMT)
我怎样才能将这样的字符串值转换为DateTime
飞镖
解决方案
您可以使用intl包:
import 'package:intl/intl.dart';
void main() {
final string = 'Thu, 25 Mar 2021 19:29:28 GMT';
final formatter = DateFormat('EEE, d MMM yyyy HH:mm:ss');
final dateTime = formatter.parse(string);
print(dateTime); // prints : 2021-03-25 19:29:28.000
}
有关详细信息,请参阅此答案和DartFormat类文档。
请注意,DateTime
示例中解析的时区不正确(即dateTime.timeZoneName
会返回您当地的时区)。
推荐阅读
- while-loop - 无法循环 while 循环
- angular - 如何通过输入装饰器触发对反应式表单的验证?
- android - 如何在 String.xml 读取的字符串中添加一些内容?
- node.js - 这种快速会话身份验证方法是否安全
- css - 是否可以在 Angular 中创建多个全局 CSS 文件?
- angular - 有没有办法使用 FormArray 作为顶级表单
- git - 无法将文件和文件夹推送到共享主机
- android - Android Emulator 在 Windows Hypervisor 平台上太慢了
- c++ - 不调用 C++ Singleton 构造函数
- javascript - What does Promisify do?