日期格式化
程序员文章站
2022-07-15 09:36:46
...
第一种方法:根据自己的需求,封装一个函数
比如:我要显示2018年09月30日 10:28这样格式的日期类型,通过后台返回的时间戳,自己去封装一个针对这种格式的时间转换。
function toTime(time){
var _date = new Date(String(time).length==10 ? time*1000 : time);//时间戳可能是10位数或者13位数的
var _Y = _date.getFullYear()+'年';
var _y = (_date.getMonth()+1 < 10 ? '0'+(_date.getMonth()+1) : _date.getMonth()+1)+'月';
var _d = _date.getDate() + '日 ';
var _h = _date.getHours() + ':';
var _m = _date.getMinutes();
return _Y+_y+_d+_h+_m;
}
console.log(toTime(new Date()));//2018年09月30日 10:28
第二种方法:网上的方法,把date日期函数通过prototype添加一个方法。
Date.prototype.Format = function (fmt) { //author: meizz
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() + "").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;
}
var time1 = new Date().Format("yyyy-MM-dd");
var time2 = new Date().Format("yyyy-MM-dd HH:mm:ss");
console.log(time1,time2);//2018-09-30 2018-09-30 10:33:46
第一种方法具有针对性,比较简单。第二种是一个公共的类方法,有点复杂,总的来说,能用就行。
推荐阅读
-
使用winhex恢复RAW格式U盘并提示未格式化故障U盘上的数据
-
Linux系统更改日期和时间如何通过命令行修改?
-
Linux系统磁盘格式化以及手动增加swap分区
-
Vue自定义过滤器格式化数字三位加一逗号实现代码
-
C#巧用DateTime预设可选的日期范围(如本年度、本季度、本月等)
-
pandas 快速处理 date_time 日期格式方法
-
python判断输入日期为第几天的实例
-
MySQL的时间差函数(TIMESTAMPDIFF、DATEDIFF)、日期转换计算函数(date_add、day、date_format、str_to_date)
-
C#获取每个年,月,周的起始日期和结束日期的方法
-
asp.net 日期函数 某月的第一天和最后一天的日期