怎样把2016-08-28T00:00:00+08:00格式的时间转化为2016/08/28 ?
如果你设计的时间转换逻辑比几多的话建议使用momentjs非常方便。
var year = new Date("2016-08-28T00:00:00+08:00").getFullYear()
var month = new Date("2016-08-28T00:00:00+08:00").getMonth()+1
var day = new Date("2016-08-28T00:00:00+08:00").getDate()
Year+'/'+month+'/'+day
原生 JS 是:
var date = new Date();
var year = date.getFullYear();
var momth = date.getMonth() + 1;
var day = date.getDate();
return year + '/' + momth + '/' + day;
标准答案太多了,我来个另类的方法:(new Date()).toLocaleString().replace(/\D+/g,"/").slice(1,-9);
以上代码存在浏览器兼容问题
在 Edge/IE 浏览器使用 toLocaleString 方法时,返回的字符串首会有一个 不可见的 \u1f5a 字符
已修改:
(new Date()).toLocaleDateString().replace(/^.*?(\d+)\D+(\d+)\D+(\d+)\D+/g,"$1/$2/$3");
这里需要替换因为 IE 系列返回的是"2016年8月3日"
这样的字符串
找到一个更简单的正则替换:
(new Date()).toLocaleDateString().match(/((?!\D).)+/g).join("/");
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决