gpt4 book ai didi

javascript - Firefox 中使用 .toLocaleString() 和 moment.js 的日期无效

转载 作者:行者123 更新时间:2023-11-28 14:49:48 24 4
gpt4 key购买 nike

我有一个脚本,正在尝试将 UTC 日期/时间转换为本地时区。这一切似乎在 Chrome 和 IE/Edge 中运行良好,但在 Firefox 中显示“无效日期”。堆栈上还有其他几个问题,但似乎没有一个问题能满足我的具体需求。

我的脚本执行此操作...

获取由 Fabrik 在 Joomla 中提供的特定格式的日期。 (我对这种格式几乎无法控制)

它看起来像这样:

2017-07-02 20:57

然后我创建一个新日期作为 UTC 并将其转换为本地时区。

toLocalString 方法:

$(document).ready(function() {
$('.plg-date > .fabrikElement > div').not('.fabrikSubElementContainer').each(function() {
if($(this).text().length > 0) {
var newdate = new Date($(this).text() + " UTC");
var options = {
year: 'numeric',
month: 'numeric',
day: 'numeric',
hour: '2-digit',
minute: '2-digit',
timeZoneName: 'short'
}
$(this).text(newdate.toLocaleString('en-US', options));
}
})
});

moment.js方法:

$(document).ready(function() {
$('.plg-date > .fabrikElement > div').not('.fabrikSubElementContainer').each(function() {
if($(this).text().length > 0) {
var date = new Date($(this).text() + " UTC");
var newdate = moment(date).format('ddd MMM DD YYYY h:mm A')
$(this).text(newdate);
}
})
});

这两种方法都会导致 Firefox 中的日期无效。有什么建议吗?

最佳答案

使用时刻,您可以使用moment.utclocal() :

var newdate = moment.utc($(this).text()).local().format('ddd MMM DD YYYY h:mm A')

moment.utc将您的输入解析为 UTC 值,而 local()将其转换为本地时间。

关于javascript - Firefox 中使用 .toLocaleString() 和 moment.js 的日期无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44929926/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com