需求字段:
created_at TIMESTAMP(6) WITH TIME ZONE
参照格式:
2019-12-28 02:01:00.000000 +08:00:00
用js进行转换后插入数据表。
使用常见方式:
var myDate = new Date();
var cyear = myDate.getFullYear();
var cmonth = myDate.getMonth();
var cday = myDate.getDate();
var chours = myDate.getHours();
var cminutes = myDate.getMinutes();
var cseconds = myDate.getSeconds();
cmonth = cmonth + 1;
if (cmonth < 10) {
cmonth = '0' + cmonth;
}
if (cday < 10) {
cday = '0' + cday;
}
if (chours < 10) {
chours = '0' + chours;
}
if (cminutes < 10) {
cminutes = '0' + cminutes;
}
if (cseconds < 10) {
cseconds = '0' + cseconds;
}
var created_at = cyear + '-' + cmonth + '-' + cday + ' ' + chours + ':' + cminutes + ':' + cseconds;
但是这种方法得到的最后结果如下:
2019-12-18 10:01:02
插入数据时会提示报错:提示该字段类型需要 TIMESTAMP,而当前字段类型为 String。
解决方法如下:
直接获取 Date 对象值:
var myDate = new Date();
var created_at = myDate;
这样得到的值就是带时区格式的值。
另外在字段类型里将它设置为 Date 即可。