在数据库中,时间戳保存为 2015-12-05 10:53:12 但是当我使用mysql查询获取记录时,它会返回此时间戳,如 2015-12- 05T10:53:12.000Z 即可。 为什么?任何问题?请帮忙。
答案 0 :(得分:2)
在您的数据库中,时间戳以二进制数字格式保存。 " 2015-12-05 10:53:12" &安培; " 2015-12-05T10:53:12.000Z"是您在某些应用程序中看到的该值的字符串表示形式。
它具有相同的价值,这里没有问题可以解决。
答案 1 :(得分:0)
您可以使用MySQL的DATE_FORMAT,例如
SELECT DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y'); -> 'Sunday October 2009'
http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date-format
答案 2 :(得分:0)
要转换你的Date-Object(用“yyyy-MM-dd'T'HH:mm:ss.SSS'Z'”表示为ISOString),你必须在从db读取后解析它。
在JavaScript中,您可以通过简单地在构造函数中传递字符串来实现这一点,例如: var myDate =新日期(“2015-12-05T10:53:12.000Z”)
使用自定义格式,您可以这样做,例如:
var dateString =“2015-12-05 10:53:12”; var date = Date.parse(dateString,“yyyy-MM-dd HH:mm:ss”);
为了将其表示为“2015年12月16日”,您必须在之后解析它:
有一些很好的资源库(例如momentjs或angularjs - date filters)
如果不这样做,你可以手动执行这样的操作(你传递之前创建的日期对象):
function parseDate(date) {
var months = ['JAN','FEB','MAR','APR','MAY','JUN',
'JUL','AUG','SEP','OCT','NOV','DEC'];
return months[date.getMonth()]+" "+("0" + date.getDate()).slice(-2)+", "+date.getUTCFullYear();
}