我正在尝试从给定的月份名称中找到相应的月份编号。实现这一目标的最简单方法是什么?
问问题
21512 次
6 回答
13
在这种情况下,实际上不需要 jQuery。
这些方面的 JavaScript 可能会有所帮助:
var monthNumber = ["january", "february", "march"].indexOf(monthname.toLowerCase()) + 1;
扩展所有月份的阵列以使其功能齐全。
于 2012-11-01T13:29:38.377 回答
5
给出从 0(一月)到 11(十二月)的值的更简单方法:
var monthString = 'December';
var dat = new Date('1 ' + monthString + ' 1999');
alert(dat.getMonth());
于 2012-11-01T13:37:05.953 回答
3
一个替代方法Array.prototype.indexOf
是一个对象:
var months = {jan: 0, feb:1, mar:2 ...};
var monthName = 'January';
var monthNum = months[monthName.substring(0,3).toLowerCase()];
优点是可以接受多种形式的月份名称,如Jan、jan、JAN、January、JANUARY等。
哦,上面假设您想要月份数作为 javascript Date 构造函数输入。要获取日历月数,只需将值增加 1。
于 2012-11-01T13:37:23.393 回答
3
您不需要 JQuery,因为这可以通过 javascript 轻松解决。
使用如下键值对
var months = {jan:1, feb:2, mar:3, apr:4, may:5, jun:6};
您可以通过调用月份名称轻松获取月份编号,如下所示
months.jan // will return 1 to the caller
或者
alert(months.feb); //will shows 2 in message box;
于 2012-11-01T14:00:06.970 回答
1
我会这样做的方式是这样的
制作一个包含所有月份的数组;
var data=new Array("January","February","March","April","May","June","July","August","September","October","November","December")
//Lets say you get this back from your get month function. This should return january, because that is the first month..
var numberOfMonth = 1;
//An array starts with the index 0, so you could do minus 1 to get the correct one
alert data[numberOfMonth - 1]);
于 2012-11-01T13:34:21.070 回答
1
根据这些信息的来源,您可能对使用名为 DateJS 的库感兴趣:
它不使用 jquery,但擅长解析日期。如果您查看下载部分,如果您需要处理外语输入,它还包含 150 多个国际化库。
于 2012-11-01T13:33:05.217 回答