Как проверить метку времени в javascript
Как вы проверяете метки на JavaScript и timestamp принимать несколько форматов например гггг-ММ-ДД чч: мм: СС.S, гггг-ММ-ДД чч: мм: СС AM / PM.
6 ответов
вы можете проверить, является ли строка допустимой меткой времени, как это:
var valid = (new Date(timestamp)).getTime() > 0;
var valid = (new Date('2012-08-09')).getTime() > 0; // true
var valid = (new Date('abc')).getTime() > 0; // false
решение @Jørgen приятно, но если у вас есть дата до January 1, 1970
ваша метка времени будет отрицательным числом, но также и действительный метки.
function isValidTimestamp(_timestamp) {
const newTimestamp = new Date(_timestamp).getTime();
return isNumeric(newTimestamp);
}
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
числовая проверка, которую я взял из после ответа SO.
например:
isValidTimestamp('12/25/1965') // true
каждое допустимое число является меткой времени. Если он удовлетворяет условию допустимого целого числа, то он также будет удовлетворять условию допустимой метки времени.
отметка времени = количество миллисекунд с 1970/01/01
С помощью new Date().getTime();
вы можете сделать это
и делать что-то вроде этого
var getDate="12-12-2012";
var myDate=getDate.split("-");
var getDate=myDate[1]+"/"+myDate[0]+"/"+myDate[2];
alert(new Date(getDate).getTime());
вы не можете обобщенно анализировать строку даты, не зная заранее, что это за формат или, по крайней мере, что это один из ограниченного числа форматов.
Если компонент даты всегда находится в формате ISO8601 (гггг-ММ-ДД), а время составляет 24 часа или 12 часов с AM или PM, вы должны иметь возможность легко отделить время, искать AM или PM, а затем рассматривать время как 12 или 24 часа в зависимости от того, присутствует оно или нет.
часовые пояса должны быть указаны как UTC (Z) или часы + / - UTC, сокращения, такие как EST, неоднозначны (и не стандартизированы).