Proszę ktoś wytłumaczyć ten rodzaj formatu w javascriptCo ten format oznacza T00: 00: 00.000Z?
T00:00:00.000Z
i jak je analizować.
Dzięki
Proszę ktoś wytłumaczyć ten rodzaj formatu w javascriptCo ten format oznacza T00: 00: 00.000Z?
T00:00:00.000Z
i jak je analizować.
Dzięki
Jest to część ISO-8601 data reprezentacji. To niepełne, ponieważ pełna reprezentacja daty w tym wzór powinien również zawiera datę:
2015-03-04T00:00:00.000Z //Complete ISO-8601 date
Jeśli spróbujesz analizować tę datę, ponieważ jest otrzymają Państwo Invalid Date
błąd:
new Date('T00:00:00.000Z'); // Invalid Date
Więc Chyba sposób analizowania znacznika czasu w tym formacie jest concat z każdym dniem
new Date('2015-03-04T00:00:00.000Z'); // Valid Date
Następnie można wyodrębnić tylko część chcesz (część datownika)
var d = new Date('2015-03-04T00:00:00.000Z');
console.log(d.getUTCHours()); // Hours
console.log(d.getUTCMinutes());
console.log(d.getUTCSeconds());
Zamknij - powinieneś użyć' getUTCHours', 'getUTCMinutes' oraz' getUTCSeconds'. W przeciwnym razie możesz przekazać zachowanie lokalnej strefy czasowej, która przyniesie różne wyniki w zależności od strefy czasowej i wybranej daty - z powodu czasu letniego. –
Zaktualizowano odpowiednio. –
Proponuję użyć do tego celu moment.js
. W moment.js można:
var localTime = moment().format('YYYY-MM-DD'); // store localTime
var proposedDate = localTime + "T00:00:00.000Z";
teraz, że masz odpowiedni format czasu, analizować je, jeśli jest to ważne:
var isValidDate = moment(proposedDate).isValid();
// returns true if valid and false if it is not.
i dostać części czasu można zrobić coś takiego:
var momentDate = moment(proposedDate)
var hour = momentDate.hours();
var minutes = momentDate.minutes();
var seconds = momentDate.seconds();
// or you can use `.format`:
console.log(momentDate.format("YYYY-MM-DD hh:mm:ss A Z"));
Więcej informacji o momentjs http://momentjs.com/
Powinieneś być w stanie przeanalizować to bezpośrednio w konstruktorze momentu za pomocą odpowiedniego ciągu formatu. (moment przyjmie bieżącą datę, jeśli nie jest częścią wartości.) Możesz również rozważyć opcję 'moment.utc (...)', aby wynikowa wartość była w tej samej strefie UTC co oryginalna wartość. –
http://en.wikipedia.org/wiki/ISO_8601 – Drew
'oznacza T' "czas" i zwykle oddziela datę od składnika czasu. 'Z' oznacza wartość pod względem [UTC] (http://en.wikipedia.org/wiki/Coordinated_Universal_Time) –