Flutter:添加两个不同变量的日期和时间以转换为 UTC

chi*_*chi 1 dart flutter

我想合并这两个日期和时间变量,并有另一个名为var toUTC.

Date Picker我有两个来自和 的日期和时间变量Time Picker

var selectedDate;
var selectedTime;

print(selectedDate); // 2021-02-06 00:00:00.000
print(selectedTime); // 1:15:00.000000
Run Code Online (Sandbox Code Playgroud)

他们var selectedDate有时间,但我不想用这个。我想用 的值替换它var selectedTime

我想做的是

print(toUTC) // 2021-02-06 1:15:00.00000 <---- merge selectedDate and selectedTime
Run Code Online (Sandbox Code Playgroud)

转换为UTC时间。

我尝试仅采用2021-02-06并与 合并selectedTime,但未能转换为UTC.

Jay*_*Dev 6

final toUTC = DateTime(selectedDate.year, selectedDate.month, selectedDate.year, 
selectedTime.hour, selectedTime.minute);
Run Code Online (Sandbox Code Playgroud)

或者,如果您需要定期做某件事,您可以为其延期。下面的代码通过将小时和分钟作为单独的变量传递来实现这一点,但如果您愿意,可以将其更改为另一个 DateTime 值。

extension DateTimeExtensions on DateTime {

 /// Creates a new date time with the given date but with the time
 /// specified from [time]
 DateTime withTime([int hour = 0, int minute = 0]) =>
     DateTime(this.year, this.month, this.day, hour, minute);

}
Run Code Online (Sandbox Code Playgroud)

要转换为 UTC,DateTime 类上有 toUtc() 方法。我不确定您是否没有发现这一点,或者是否存在我没​​有看到的问题?