我想在不考虑Settings.defaultZone
的情况下生成Luxon日期。
就我而言,我从第三方日期选择器组件中获取了日期字符串。格式如下:2019-06-28T00:00:00
但是,现在,我们在所有应用程序中都使用了Luxon来管理日期,因此我需要解析该日期以生成一个Luxon日期。
因此,我将字符串解析如下:
import { DateTime } from 'luxon';
function parseDate(dateString) { // Let's say dateString === 2019-06-28T00:00:00
const formattedDate = DateTime.fromISO(value); // 2019-06-27T23:00:00.000Z
...
}
如您所见,
formattedDate
受当前时区的影响。在这种特定情况下,在应用程序引导中,我们将常规时区设置为GMT + 1。因此,格式化日期设置为23:00的6月27日,而不是用户在日期选择器中选择的00:00的6月28日。全局时区设置随时间调整。
通常这很好,但是在这种特定情况下(用户正在选择其身份证的到期日期),我们既不需要也不希望考虑时区。我希望将日期设置为UTC时区的6月28日。
我尝试了这个:
const formattedValue = DateTime.fromISO(value).setZone('utc');
但是,这不会修改日期,而是将其设置为6月27日。
我想有一个简单的方法可以做到这一点,只有我找不到它。
最佳答案
我真的很亲密:
const formattedValue = DateTime.fromISO(value, {zone: 'utc'});
绝招。
关于javascript - 卢森堡:如何忽略特定日期的时区,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56440097/