Я беру новый JavaScript Date () и пытаюсь отформатировать его в виде строки, например:
гггг-мм-дд чч: мм: сс
, а затем вставляю ее вбаза данных SQLite.Я использую Appcelerator (1.7.2), который использует движок Mozilla Rhino для JS.
Вот функция:
date.DateToSQLite = function(date){
if (date == null){
return null;
} else if (date instanceof Date == false){
throw "not a date Object value:" + date;
};
var result = date.getUTCFullYear();
result += '-';
if (date.getUTCMonth() < 9){
result += '0';
}
result += date.getUTCMonth() +1;
result += '-';
if (date.getUTCDate() < 10){
result += '0';
}
result += date.getUTCDate();
result += ' ';
if (date.getUTCHours() < 10){
result += '0';
}
result += date.getUTCHours();
result += ':';
if (date.getUTCMinutes() < 10){
result += '0';
}
result += date.getUTCMinutes();
result += ':';
if (date.getUTCSeconds() < 10){
result += '0';
}
result += date.getUTCSeconds();
result += '.';
if (date.getUTCMilliseconds() < 100){
result += '0';
}
if (date.getUTCMilliseconds() < 10){
result += '0';
}
result += date.getUTCMilliseconds();
//Ti.API.info('date.DateToSQLite result:' + result + ' date:' + date);
return result;
};
Я не могувоссоздайте это сам, функция, кажется, всегда работает для меня, но в некоторых клиентских базах данных отображается NAN-NAN-NAN NAN: NAN: NAN.NAN, и это может продолжаться до 40 минут, а затем снова начинает работать.
Вот снимок экрана поля из базы данных SQLite при просмотре в Navicat:
Может date.getUTCHours () илиdate.getUTCMinutes () return NAN: NAN?
Нужно ли использовать UTC?Мои клиенты находятся на Ближнем Востоке.
Это приложение Titanium Appcelerator, работающее на устройствах iOS / iPad2.