Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Dart DateTime转换为PHP';s DateTime::ATOM字符串转换_Datetime_Flutter_Dart_Converters - Fatal编程技术网

将Dart DateTime转换为PHP';s DateTime::ATOM字符串转换

将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

我需要从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); // 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())