gpt4 book ai didi

javascript - 错误获取日期属性的时刻

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

我正在尝试使用 MomentJS 来支持我的应用程序中的日期处理。但是,我遇到了日期操作的问题。

文件按以下顺序加载:

<script src="/javascripts/modules/moment/moment.min.js"></script>
<script src="/javascripts/modules/moment/moment-timezone.min.js"></script>
<script src="/javascripts/modules/moment/moment-timezone-data.js"></script>
<script src="/javascripts/modules/moment/moment-with-langs.min.js"></script>

现在,在我的 JS 代码的某些部分中,我将时刻语言更改为 FR 或 PT。

moment.lang('fr');

两种语言都将日期验证为“DD/MM/YYYY”,而不是美国模式。所以我期待那一刻验证遵循已传递的国家/地区日期模式的日期。

那么 12/10/2014 必须是: (12)、 (09)、 (2014),但它总是返回美国模式而不是正确的模式。

我得到的日期属性为:

console.log("DAY: " + moment(textDate).date());
console.log("MONTH: " + moment(textDate).month());
console.log("YEAR: " + moment(textDate).year());

其中 textDate 是我从文本输入中获取的日期。

## 编辑##

我知道我可以将模式传递给 Moment。即:

moment(textDate, 'DD/MM/YYYY');

就我的应用程序而言,我使用的是这样的:

moment(textDate, '<%=lingua.general.time.pDate%>');

但是,它应该会自动工作,不是吗?当然如果你已经有需要的语言包了。所以我之前提到的方法应该可行,无论如何。

最佳答案

如果您不传递任何格式化参数,moment 将让您的浏览器进行解析(完整 ISO 时间戳除外)。

要告诉 moment 进行解析,并使用与该语言关联的本地化短日期格式,请传递 L 作为格式字符串:

moment(textDate, 'L')

请参阅文档:

此外,与您的问题无关,但 moment-with-langs 已经包含 moment.js 的副本,因此您不需要这两个脚本。

关于javascript - 错误获取日期属性的时刻,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21389753/

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