Я предполагаю, что на Titanium Mobile не запущена достаточно новая версия Javascript для покрытия используемого вами формата даты.
Если вы посмотрите спецификацию для объекта Date, потребуется датакак определено в RFC 1123 , который получает определение даты от RFC 822 , который не выглядит для меня так, как будто он поддерживает точный формат, который вы используете.Начиная с Javascript 1.8.5, он также принимает даты в виде ISO 8601 , который выглядит так, как будто он может охватывать то, что у вас есть.
Я бы посоветовал изменить ваши строки дат так, чтобы они работали как более старая спецификация, если можете.См. здесь в MDN для получения дополнительной информации.
Пример действительного времени даты RFC822:
02 Oct 2002 15:00:00 +0200
Если ваши даты всегда в том формате, в котором выпокажите в своем вопросе, тогда вы можете сделать простое преобразование, как это:
function ConvertDate(dateIn) {
var monthStr = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
// desired format "02 Oct 2002 15:00:00 +0200"
var dateOut = dateIn;
var matches = dateIn.match(/(\d+)\D+(\d+)\D+(\d+)T(.*)Z$/);
if (matches) {
dateOut = matches[3] + " " +
monthStr[parseInt(matches[2] - 1, 10)] + " " +
matches[1] + " " +
matches[4] + " GMT";
}
return(dateOut);
}
Демо здесь: http://jsfiddle.net/jfriend00/APxN7/.
Примечание: эта простая функция предполагает, что ваши даты всегда в точном форматевы показываете в своем вопросе и всегда действительны, так как он не будет обрабатывать произвольную дату ISO 8601 в качестве входных данных, а только ту форму, которую вы показываете.
Чтобы получить текущую дату в объекте javascript, вы можете просто сделать это:
var now = Date();
Затем можно использовать любой из методов, определенных для объекта Date для объекта now
, включая методы для получения любой части даты или преобразования ее в строкуи т. д ....
Чтобы получить интернет-форму даты, которую выводит ConvertDate, вы должны использовать:
now.toUTCString();