如何在 JavaScript 中将月份名称 10 月转换为 10
how to convert month name october to 10 in javascript
本文关键字:转换 JavaScript 更新时间:2023-09-26
在java脚本中给出一个月,如"十月"
如何将月份转换为数字格式?
例如,输出应为"10"。
我有一个名为 monthName 的变量,它给出的值为"十月",
现在如何将月份名称值转换为10
这有点黑客,但是:
var monthName = "October";
var monthNumber = new Date(monthName + " 1").getMonth() + 1;
console.log(monthNumber); // 10;
如果这是您将对日期进行的唯一工作,也许这是矫枉过正,但您可以使用此刻.js库:
moment("October", "MMM").format("M")
输出:
10
显然,您可以使用变量的名称而不是字符串文字"十月"。
你可以
此方法比使用 Date 对象要高效得多,因为月份名称数组被缓存并且只执行查找,而不是创建具有不必要属性的全新 Date 对象。
这样做
function getMonthName() {
getMonthName.mnths = getMonthName.mnths || ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];
return (getMonthName.mnths.indexOf(monthName.toLowerCase()) + 1);
}
console.log(getMonthName("October")); // 10
只需创建一个月份数组,然后将一个月份添加到您要查找的月份的索引中。
此方法比使用 Date 对象要高效得多,因为月份名称数组被缓存并且只执行查找,而不是创建具有不必要属性的全新 Date 对象。
此解决方案比使用 Date 对象快 34%。此解决方案不允许使用诸如Oct
之类的术语,并且不关心区域设置,但无论如何,这不是要求的。如果需要它们,请使用Date
对象。
此外,这是很好的解决方案之一,因为new Date("October 1").getMonth() + 1
将为您提供IE10和11(最新的IE(甚至最新的Mozilla Firefox NaN
。
该解决方案是跨浏览器兼容的,效率更高,当然也不是解决问题的坏方法。JS 性能
相关文章:
- 使用键/代码转换JavaScript数组
- NS_ERROR_XPC_BAD_CONVERT_JS:无法转换JavaScript参数arg 0[nsIDOMWind
- 转换Javascript中的DayOfYear值以用于Flot
- 转换Javascript日期格式
- 字符串大小写转换 javascript
- 一个很好的文本到语音转换JavaScript库
- JQuery 函数突然停止工作,转换 Javascript 参数时出错
- 转换 JavaScript 代码
- 需要转换Javascript数组的格式
- 转换javascript中的日期格式
- 循环以转换JavaScript对象
- jQuery Post中的错误:无法转换JavaScript参数
- UglifyJS转换javascript代码
- Html到Haml的转换javascript
- 正在转换Javascript日期
- 转换Javascript关联对象并用PHP输出
- 转换JavaScript'这'到jQuery'$(这个)'
- 转换JavaScript数组
- 无法转换JavaScript参数arg 0 [nsIDOMWindow.getComputedStyle]
- jQuery美元.Firefox中的ajax错误:"无法转换JavaScript参数"