Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Работа с датой и timestamp (https://javascript.ru/forum/dom-window/16318-rabota-s-datojj-i-timestamp.html)

azarubin 03.04.2011 21:14

Работа с датой и timestamp
 
Соответственно, для вычисления оставшегося кол-ва дней до события, решил написать скриптик. Переводит дату в timestamp и вычисляет дни:

function toTimestamp(){
var mydate = new Date('02/04/2012');
fakebla = mydate.valueOf();
return fakebla;
}
document.write(((toTimestamp()/1000)-(new Date().getTime()/1000))/86400);


Но вся беда в том, что он работает только с американским форматом даты mm/dd/yyyy, а у меня дата строго в формате dd/mm/yyyy и изменить его нельзя. Пересмотрел все методы по дате, но они работают либо в текстовом, либо в американскому формате.

Как довести до ума эту задачу? :( Ведь миллионы людей работают с "правильной" датой и вряд ли все метод JS заточены только под месяц день год. :help:

with-love-from-siberia 03.04.2011 21:50

Разбирайте входную строку на отдельные компоненты и создавайте новый объект:
var input = '02/04/2012';
var m = input.match(/\d+/g);
var date = new Date(
    m[2], 
    m[1] - 1, 
    m[0]);

alert(date);

var input = '02/04/2012';
var m = input.split(/\//);
var date = new Date(
    m[2], 
    m[1] - 1, 
    m[0]);

alert(date);

рони 04.04.2011 20:40

Вариант )))
var input = '02/04/2012';
var m = input.replace(/(\d+).(\d+)/,"$2/$1");
var date = new Date(m);
alert(date);


Часовой пояс GMT +3, время: 02:30.