将Dart DateTime转换为PHP';s DateTime::ATOM字符串转换
我需要从dart应用程序向后端发送一个日期时间字符串,该后端接受PHP的DateTime::ATOM格式的日期(示例:2005-08-15T15:52:01+00:00)。格式描述为“Y-m-d\TH:i:sP”,其中P为: 与格林尼治时间(GMT)的差值,在小时和分钟之间使用冒号,例如+02:00 到目前为止,我还没有找到一个好的解决方案,来解决如何从dart生成所需格式的日期时间字符串的问题将Dart DateTime转换为PHP';s DateTime::ATOM字符串转换,datetime,flutter,dart,converters,Datetime,Flutter,Dart,Converters,我需要从dart应用程序向后端发送一个日期时间字符串,该后端接受PHP的DateTime::ATOM格式的日期(示例:2005-08-15T15:52:01+00:00)。格式描述为“Y-m-d\TH:i:sP”,其中P为: 与格林尼治时间(GMT)的差值,在小时和分钟之间使用冒号,例如+02:00 到目前为止,我还没有找到一个好的解决方案,来解决如何从dart生成所需格式的日期时间字符串的问题 DateTime now = DateTime.now(); print(now); // Out
DateTime now = DateTime.now();
print(now); // Output: 2020-03-02 17:04:08.587613
print(now.toIso8601String()); // Output: 2020-03-02T17:04:08.587613
print(now.toUtc().toIso8601String()); // Output: 2020-03-02T16:04:08.587613Z
print(DateFormat('yyyy-MM-dd''T''HH:mm:ss').format(now)); // Output: 2020-03-02T17:04:08
有没有一个简单的方法,我到目前为止还没有见过,或者有人对如何编写一个简单的转换函数有想法
干杯
DateFormat('yyyy-MM-ddTHH:MM:ss+00:00')
@Kahou它产生了正确的格式,我已经得到了以上的信息。让我困惑的是“与格林威治时间(GMT)的差异”这件事,但实际上,如果格式化的日期是UTC,那么可能可以始终使用+00:00。所以答案可能是:DateFormat('yyyy-MM-ddTHH:MM:ss+00:00')。format(DateTime.now().toUtc())
Dart不支持时区。您可以尝试:@Kahou我想当硬编码+00:00时应该是:DateFormat('yyyy-MM-dd'T''HH:MM:ss+00:00')。format(now.toUtc())代码>DateFormat('yyyy-MM-ddTHH:MM:ss+00:00')
@Kahou它生成了正确的格式,我已经在上面做了很多。让我困惑的是“与格林威治时间(GMT)的差异”这件事,但实际上,如果格式化的日期是UTC,那么可能可以始终使用+00:00。所以答案可能是:DateFormat('yyyy-MM-ddTHH:MM:ss+00:00')。format(DateTime.now().toUtc())
Dart不支持时区。您可以尝试:@Kahou我想当硬编码+00:00时应该是:DateFormat('yyyy-MM-dd'T''HH:MM:ss+00:00')。format(now.toUtc())代码>