我是 Flutter 的新手,我正在嘗試以 UTC 格式輸出當天的開始時間。我使用 Flutter 3.3.7 和 Dart SDK 2.18.4。
首先,我采用當前日期。
DateTime dt = DateTime.now();
接下來,我使用我自己實作的 DateTime 類的擴展。
extension DateTimeFromTimeOfDay on DateTime {
DateTime appliedFromTimeOfDay(TimeOfDay timeOfDay) {
return DateTime(year, month, day, timeOfDay.hour, timeOfDay.minute);
}
}
它輸出相同的日期,只有我通過 TimeOfDay 類傳遞它的時間(在本例中為 00:00)。
dt = dt.appliedFromTimeOfDay(const TimeOfDay(hour: 0, minute: 0));
print(dt.toUtc()); //2022-11-08 21:00:00.000Z
但是當我運行這段代碼時,它會輸出一個非零時間的日期。
我還嘗試將 toUtc() 方法添加到擴展中。
extension DateTimeFromTimeOfDay on DateTime {
DateTime appliedFromTimeOfDay(TimeOfDay timeOfDay) {
return DateTime(year, month, day, timeOfDay.hour, timeOfDay.minute).toUtc();
}
}
那也沒有用。
如何獲取 UTC 格式的 DateTime 和零時間?例如, 2022-11-08 00:00:00.000Z
uj5u.com熱心網友回復:
DateTime有一個utc建構式允許你這樣做。
extension DateTimeFromTimeOfDay on DateTime {
DateTime appliedFromTimeOfDay(TimeOfDay timeOfDay) {
return DateTime.utc(year, month, day, timeOfDay.hour, timeOfDay.minute);
}
}
DateTime today = DateTime.now()
.appliedFromTimeOfDay(const TimeOfDay(hour: 0, minute: 0)); // output: 2022-11-09 00:00:00.000Z (note the Z which indicate UTC)
uj5u.com熱心網友回復:
試試這個擴展方法
extension DateTimeExtension on DateTime {
DateTime getDateOnly() {
return DateTime(this.year, this.month, this.day);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/531734.html
標籤:扑镖约会时间
下一篇:ng2-charts和chart.js錯誤0x80004005(NS_ERROR_FAILURE)computeLabelSizes僅在Firefox中
