我在MySql数据库中的日期是timestamp类型,可是查询出来显示在页面上之后就变成了:
Fri May 17 2013 14:12:33 GMT+0800 (中国标准时间)
这种格式,实际上数据库中显示的是:
2013-01-18 14:19:26
能不能把页面上也显示这种格式啊,不要上面那种格式,敬请各位指教,
自己format
用moment 想怎么显示都可以。。
我会先将时间转为unix存入数据库, 在页面以Moment.js或其他方法格式化
推荐 moment
moment().format('MMMM Do YYYY, h:mm:ss a');
受教
我的数据库里,时间存储的是string类型。先写好格式,然后存入。
Date.prototype.format = function(fmt){
var o = {
"M+" : this.getMonth()+1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours(), //小时
"m+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
"q+" : Math.floor((this.getMonth()+3)/3), //季度
"S" : this.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt))
fmt=fmt.replace(RegExp.$1, (this.getFullYear().toString()).substr(4 - RegExp.$1.length));
for(var k in o)
if(new RegExp("("+ k +")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
return fmt;
};
我是用date-utils
谢谢大家了,大家给了各种不同的方式,其实我用了另外一种方式,既然我使用的是MySql,那么MySql应该提供的有相应的函数,所以我用的是MySql提供的函数,直接转换,拿出来就可以用了,也不用使用额外的js了,方法如下:
date_format(article_date+’’, ‘%Y-%m-%d %H:%m:%S’) as date;
这样就转换为我要的格式了! 不过还是谢谢大家
以我的php和node开发经验来看 关于日期时间 还是存储为时间戳的整数形式比较好 有的时候做一些 时间比较 或是时间查询(比如最近三个月的记录) 用时间戳显然要快一点 格式化还是交给客户端吧 感觉格式化后的数据对开发人员 没有什么实际意义 在mysql中DateTime 还要比Int多占一些空间(仅供参考)
@marshal 很受用,谢谢您了
@marshal 一直都这么用的
不用那么麻烦吧,在connection的参数那里加一个 dateStrings: true , 就可以了吧,我是datetime类型的,测试了可以