【问题标题】:Get Local timezone from specific zone从特定区域获取本地时区
【发布时间】:2019-04-04 00:55:09
【问题描述】:

我目前使用 Luxon 的代码如下:

this.now = DateTime.local();

但是,我想从另一个时区(例如“欧洲/伦敦”)获取当前时间。这在 Luxon 中可行吗?

类似这样的:

this.now = DateTime.local('Europe/London');

有人知道怎么做吗?

【问题讨论】:

    标签: angular luxon


    【解决方案1】:

    是的,您可以使用setZone 方法:

    将 DateTime 的区域“设置”为指定区域。返回一个新构造的 DateTime。

    或者您可以使用 fromObject 指定 zone 属性,如 cmets 中的 snickersnack 建议的那样。

    这是一个现场样本:

    const DateTime = luxon.DateTime;
    const now = DateTime.local().setZone('Europe/London');
    console.log( now.toLocaleString(DateTime.DATETIME_FULL) );
    
    // Using fromObject as suggested by snickersnack
    const nowObj = DateTime.fromObject({ zone: 'Europe/London' });
    console.log( nowObj.toLocaleString(DateTime.DATETIME_FULL) );
    <script src="https://moment.github.io/luxon/global/luxon.min.js"></script>

    另请参阅手册的Creating DateTimes in a zone 部分。

    【讨论】:

    • 没有很好的文档记录,但你也可以这样做DateTime.fromObject({ zone: "Europe/London" })
    • @snickersnack 你是对的,谢谢你的评论。我已编辑我的答案以包含 fromObject 解决方案。
    猜你喜欢
    • 2021-03-13
    • 2012-09-13
    • 1970-01-01
    • 2015-12-14
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 2014-05-31
    • 2012-02-14
    相关资源
    最近更新 更多