gpt4 book ai didi

javascript - Moment - 获取日期格式部分名称

转载 作者:行者123 更新时间:2023-11-28 14:35:17 33 4
gpt4 key购买 nike

为了实现日期输入掩码,我需要根据格式部分找到文字日期部分。

我在 Moment.js document 中搜索但似乎没有什么能达到我想要实现的目标。

这是我想做的一个例子:

function getFormatName(format) {
// [Use some moment.js' method or implement something manually...]
}

getFormatName('YYYY') // Return 'years'
getFormatName('MM') // Return 'months'
getFormatName('DD') // Return 'days'
getFormatName('HH') // Return 'hours'
getFormatName('hh') // Return 'hours'
getFormatName('mm') // Return 'minutes'
getFormatName('ss') // Return 'seconds'

我需要这个方法来增加/减少日期的特定部分,使用 add/substract,它需要一个键 ('years', 'days'等)

moment().add('years', 1);

我虽然可以使用简写(可见 here ),但有些情况如果不进行转换就无法工作(日期的简写为“d”,而格式提供了大写的“D”)。

您认为我可以找到除大型switch/case之外的解决方案吗?

function getFormatName(format) {
switch(format[0]) {
case 'Y':
return 'years';
[...]
}
}

最佳答案

这是一种方法。而且它与显示格式一致,因为它使用相同的内部别名:

function getFormatName(format) {
const unit = moment.normalizeUnits(format[0])
return unit ? unit + 's' : undefined;
}

关于javascript - Moment - 获取日期格式部分名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49976384/

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