我正在使用javascript new Date()并尝试将其格式化为字符串,如下所示:
yyyy-MM-dd hh:mm:ss
然后将其插入SQLite数据库。我正在使用Appcelerator(1.7.2),它将JS使用Mozilla Rhino引擎。
这是功能:
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分钟然后它再次开始工作。
以下是Navicat中查看的SQLite数据库字段的屏幕截图:
date.getUTCHours()或date.getUTCMinutes()可以返回NAN:NAN吗?
我必须使用UTC吗?我的客户在中东。
这是在iOS / iPad2设备上运行的Titanium Appcelerator应用程序。
答案 0 :(得分:0)
虽然代码有点...... icky ......任何工作 JavaScript的Date对象都无法从“getTimePart”方法返回NaN:
所述环境也可能已经破坏了“getUTCTimePart”方法;是否可以使用非UTC组件重复症状?
快乐的编码。