2013-04-18 2 views
0
.

. Я пытаюсь отладить проблему, из-за которой возникают проблемы с хромом. Похоже, что когда стробированная строка даты и времени в Великобритании передается конструктору Date. Моя система - все, что мне нужно, чтобы изменить настройки моего браузера на en-uk для тестирования, но не уверен, что это важно.Javascript, создающий новую дату из Великобритании. Сформированное datetime в Chrome возвращает недопустимую дату.

Я упростил проблему вниз к следующему

<html> 
<body> 
<script> 
    alert('hi') 
    var inactiveDateValue = new Date("18/04/2013"); 
    alert(inactiveDateValue); 
</script> 
Testing some DateTime Functionality with JS. 
</body> 
</html> 

Я дал свой язык на английский (Великобритания), как мой наивысший приоритет.

EDIT: Мне нужно иметь возможность анализировать форматы даты и времени США или Великобритании, поэтому значение может быть 04/18/2013 или 18/04/2013.

+0

ли это локали agnostically; 'inactiveDateValue = новая дата (2013, 3 - 1, 18)': ('-1', поскольку месяц основан на нулевом значении, допустимые форматы конструктора даты: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/parse) –

+0

, который будет 4-1 – mplungjan

ответ

1

Если ваша цель состоит в том, чтобы парсинга строки DD/MM/YYYY к JavaScript Date, вы можете сделать следующее:

var parseUKDate = function (source, delimiter) { 
    return new Date(source.split(delimiter).reverse().join(delimiter)) 
}; 

var activeDateValue = parseUKDate("18/04/2013", "/"); 
alert(activeDateValue); 
+0

Он должен быть достаточно общим для принятия форматов в Великобритании или США. Поскольку эта же страница используется клиентами США и Великобритании. – Josh

Смежные вопросы