преобразовать строку времени, скажем, «12: 05 PM» в дату и время, используя Date.Parse в JavaScript - PullRequest
2 голосов
/ 16 марта 2012

Я хочу преобразовать строку времени, скажем, «12: 05 PM» в дату и время, используя Date.Parse в javascript. Когда я передаю значение, скажем, 12:05 или 12:10 или ... или 12:55, значение, возвращаемое startTime ниже, равно нулю, т.е. startTime = null

Но когда я передаю значения 13:00, 13:05, 13:10, 12:00, ..., 12:00, все работает нормально
возвращая мне дату с указанием времени.

Это строка кода, вызывающая проблему:

var startTime = Date.parse($("#<%= StartTime.ClientID %>").val());  //code causing the issue

И StartTime - это текстовое поле.

Я пишу приведенный выше код в client / html в приложении ASP.NET в веб-форме.

Ответы [ 4 ]

3 голосов
/ 16 марта 2012

Если вы используете date.js, попробуйте (в соответствии с тестовым примером здесь )

Date.parseExact("12:05 PM", "hh:mm tt");

Это также должно срабатывать, если вы правильно загрузили библиотеку.

2 голосов
/ 16 марта 2012

Здесь все работает нормально:

http://jsfiddle.net/vuURb/396/

Возможно, это проблема загрузки библиотеки, но вы утверждаете, что она работает в некоторых случаях, а не в других.Вы пытались вывести значение текстового поля в консоль, прежде чем передать его в Date.parse()?

1 голос
/ 16 марта 2012

На основании этого ответа вы можете сделать это:

var startTime = new Date();
var time = $("#<%= StartTime.ClientID %>").val().match(/(\d+)(?::(\d\d))?\s*(p?)/);
startTime.setHours(parseInt(time[1]) + (time[3] ? 12 : 0) );
startTime.setMinutes( parseInt(time[2]) || 0 );

Я только что прочитал ваш ответ на другой вопрос, который вы используете date.js . Если вы действительно используете его, ваш код верен, тогда проблема должна заключаться в том, что вы не загружаете библиотеку должным образом и используете собственный объект Date.

1 голос
/ 16 марта 2012

есть хорошая утилита для дат с именем date.js .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...