Просто хочу скрытый Ян до 01 (формат даты)
Я могу использовать array()
, но ищет другой способ...
Любое предложение?
Просто хочу скрытый Ян до 01 (формат даты)
Я могу использовать array()
, но ищет другой способ...
Любое предложение?
Просто для удовольствия я сделал это:
function getMonthFromString(mon){
return new Date(Date.parse(mon +" 1, 2012")).getMonth()+1
}
Бонус: он также поддерживает полные имена месяцев:-D Или новая улучшенная версия, которая просто возвращает -1 - измените ее, чтобы выдать исключение, если хотите (вместо возврата -1):
function getMonthFromString(mon){
var d = Date.parse(mon + "1, 2012");
if(!isNaN(d)){
return new Date(d).getMonth() + 1;
}
return -1;
}
Sry для всех изменений - опережая себя
Другой способ:
alert( "JanFebMarAprMayJunJulAugSepOctNovDec".indexOf("Jun") / 3 + 1 );
Если вы не хотите массив, то как насчет объекта?
var months = {
'Jan' : '01',
'Feb' : '02',
'Mar' : '03',
'Apr' : '04',
'May' : '05',
'Jun' : '06',
'Jul' : '07',
'Aug' : '08',
'Sep' : '09',
'Oct' : '10',
'Nov' : '11',
'Dec' : '12'
}
Я обычно использовал функцию:
function getMonth(monthStr){
return new Date(monthStr+'-1-01').getMonth()+1
}
И назовите его так:
getMonth('Jan');
getMonth('Feb');
getMonth('Dec');
Еще один способ сделать то же самое
month1 = month1.toLowerCase();
var months = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"];
month1 = months.indexOf(month1);
Если вы используете moment.js:
moment().month("Jan").format("M");
function getMonthDays(MonthYear) {
var months = [
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December'
];
var Value=MonthYear.split(" ");
var month = (months.indexOf(Value[0]) + 1);
return new Date(Value[1], month, 0).getDate();
}
console.log(getMonthDays("March 2011"));
var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
то просто вызовите monthNames [1] это будет фев.
Итак, вы всегда можете сделать что-то вроде
monthNumber = "5";
jQuery('#element').text(monthNames[monthNumber])
Вот еще один способ:
// Months are in Spanish
var currentMonth = 1
var months = ["ENE", "FEB", "MAR", "APR", "MAY", "JUN",
"JUL", "AGO", "SEP", "OCT", "NOV", "DIC"];
console.log(months[currentMonth - 1]);
Вот модифицированная версия выбранного ответа:
getMonth("Feb")
function getMonth(month) {
d = new Date().toString().split(" ")
d[1] = month
d = new Date(d.join(' ')).getMonth()+1
if(!isNaN(d)) {
return d
}
return -1;
}
function getMonthString(month){
return new Date(Date.parse(month+" 1, 2012")).getMonth()+1;
}
Вот простая однолинейная функция
//ECHMA5
function GetMonth(anyDate) {
return 'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec'.split(',')[anyDate.getMonth()];
}
//
// ECMA6
var GetMonth = (anyDate) => 'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec'.split(',')[anyDate.getMonth()];