Javascript Date.parse возвращает NaN в браузере Blackberry - PullRequest
5 голосов
/ 25 октября 2011

Это код, который я пытаюсь запустить в браузере симулятора blackberry (OS V6.0).

<html>
<body>

<script type="text/javascript">
var d = Date.parse("Tue Oct 25 2011 18:33:17 GMT+0230");
var d1 = Date.parse("Tue Oct 25 2011 18:33:17");
document.write(d+"::::::"+d1);

</script>

</body>
</html>

Всякий раз, когда в строке есть информация о GMT, я передаю методу parse,он возвращает NaN, тогда как он возвращает значение, если информация о GMT отсутствует. Но я не могу удалить часть GMT из моей строки.

Любая идея, почему это не удается?. Обратите внимание, что этопроисходит только в ежевике.

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 25 октября 2011

Как сказано в комментариях, вы можете удалить часть GMT:

var gmt = str.indexOf("GMT");
var newDate = str.substr(0,gmt-1)

, затем проанализировать данные:

var d = Date.parse(newDate);

и, наконец, добавить часть GTM:

var offset_hour = str.substr(gmt+3, 3);
var offset_min = str.substr(gmt+6);
d.addMinutes(60 * offset_hour + offset_min);

Код не проверен, и последний вызов соответствует библиотеке datejs .

0 голосов
/ 25 октября 2011

Мне пришлось создать собственную строку даты, которую BlackBerry с удовольствием проанализировал.Я не добавил GMT.

// manually create date string because of BlackBerry parse method
var dateStr=dateObj.getDay()+' '+dateObj.getDate()+' 'dateObj.getMonth()+' '+dateObj.getFullYear()+' '+dateObj.getHours()+':'+dateObj.getMinutes()+':'+'00';
var mydate = Date.parse(dateStr); // works
...