Формат: ММДДччммJavaScript: как разобрать строку даты
Я хочу взять месяц, день, час, минута в индивидуальном порядке, как это сделать?
Формат: ММДДччммJavaScript: как разобрать строку даты
Я хочу взять месяц, день, час, минута в индивидуальном порядке, как это сделать?
var dateString = '13011948';
Длина текста фиксируется и всегда в то же должность. Затем вы можете просто использовать substr
, чтобы разрезать их на части и использовать parseInt
, чтобы преобразовать их в число.
var month = parseInt(dateString.substr(0, 2), 10),
day = parseInt(dateString.substr(2, 2), 10),
hour = parseInt(dateString.substr(4, 2), 10),
minute = parseInt(dateString.substr(6, 2), 10);
Или вместо этого поместите его в объект с одной датой.
var date = new Date();
date.setMonth (parseInt(dateString.substr(0, 2), 10) - 1);
date.setDate (parseInt(dateString.substr(2, 2), 10));
date.setHours (parseInt(dateString.substr(4, 2), 10));
date.setMinutes (parseInt(dateString.substr(6, 2), 10));
EDIT
Библиотека moment.js нашел here выглядит удивительным для этого!
END EDIT
это должно помочь ... working with Dates
Есть несколько методов в JavaScript Object Date, который получил бы вам эти параметры
var curdate = new Date();
var mday = curdate.getDate(); //returns day of month
var month = curdate.getMonth(); //returns month 0-11
var hours = curdate.getHours(); //returns hours 0-23
var minutes = curdate.getMinutes(); //returns minutes 0-59
Проверить this
Если у вас нет объекта даты, вы можете проанализировать его с помощью
var curdate = Date.parse("Jan 1, 2010");
Чтобы разобрать дату вашего конкретного формата см this
Вы уверены, что второй пример верен? Date.parseDate(), похоже, не существует для меня и функция Date.parse(), которая принимает один аргумент в формате IETF. –
@Mark Biek - Да, спасибо Марк, вы правы. – niksvp
Если вы гарантировано, что он всегда будет в формате ММДДччмм, можно разобрать его с помощью простого регулярного выражения.
var d = "01121201";
var m = /([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})/.exec(d);
console.log(m);
, который будет выводить
["01121201", "01", "12", "12", "01"]
Но используя фактические функции даты лучше, если это возможно.
Вы могли бы сделать что-то вроде следующего, чтобы принять результат матча регулярного выражения выше, чтобы создать настоящий объект Javascript Дата:
//The year will default to the current year
var realDate = new Date();
realDate.setMonth(m[1]);
realDate.setDate(m[2]);
realDate.setHours(m[3]);
realDate.setMinutes(m[4]);
Вау, приподнятое все еще работает! Раньше я ездил туда бесплатно шаблоны сайтов до начала тысячелетия (и задолго до того, как я был веб-разработчиком)! ура для прохода вниз по полосе памяти :-) – WickyNilliams
lol Я никогда не слышал об этом. когда я искал. Похож на хороший ресурс для этого, хотя ... – stephen776