Mam ciąg daty formatu DD-MM-YYYY HR: MIN: sec (czas w formacie 24-godzinnym). Jak konwertować ten ciąg do czasu UNIX. Wiem w PHP, jeśli piszę time() daje mi unixtime. Próbuję osiągnąć ten sam wynik z ciągiem daty przy użyciu JavaScript.

    var expTime = document.getElementById("expiryDT").value; 
    //the value inside this element is the date with (dd-mm-yyyy hr:min:sec) format.
var todayUnixTime = Math.round(+new Date()/1000);
//this gives me the unixtime in seconds for today, ready to pass into php

Jak konwertować ciąg expTime w unixtime w JavaScript, dzięki czemu mogę przekazać go PHP;

var expTime = String(document.getElementById("expiryDT").value);

http://jsfiddle.net/n4t5h/2/

0
JINSOUL 30 listopad 2013, 02:43

5 odpowiedzi

Najlepsza odpowiedź

Problemem jest ta data nie rozpoznaje formatu daty (DD-MM-YYYY HR: MIN: SEC). Użyj poprawnego formatu daty RFC2822 lub ISO 8601 lub użyć drugiej formy konstruktora daty, które zajmuje argumenty numeryczne:

new Date(year, month [, day, hour, minute, second, millisecond])

http://jsfiddle.net/n4t5h/3/

2
Dagg Nabbit 29 listopad 2013, 23:55

Jinsoul Masz rację https://stackoverflow.com/a/20570223/1717821

1
Community 23 maj 2017, 11:49

var unixTime = Math.round(new Date('January 21,2013 23:14:12').getTime()/1000);

0
StackSlave 29 listopad 2013, 23:06

Użyj metody getTime() Oto demo: http://jsfiddle.net/nn007/n4t5h/

-1
Noampz 29 listopad 2013, 22:59

Próbować:

 var someDate = new Date(Date.parse(expTime));
-1
DigCamara 29 listopad 2013, 23:23