经常遇到要对时间戳进行格式化,但基本上都是临时需要随时写,从未整理过,今天又遇到对时间戳进行格式化,于是记载下来,以后需要直接拿过来用。
废话不多说,先把各种格式化方法贴给大家
var myDate = new Date();
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间
可以说是Web项目中不可或缺的一个Javascript类库,它可以帮助你快速的解决客户端编程的许多问题,下面贴出一个用js格式化时间的方法。
Date.prototype.format =function(format) { var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(), //minute "s+" : this.getSeconds(), //second "q+" : Math.floor((this.getMonth()+3)/3), //quarter "S" : this.getMilliseconds() //millisecond } if(/(y+)/.test(format)) format=format.replace(RegExp.$1, (this.getFullYear()+"").substr(4- RegExp.$1.length)); for(var k in o)if(new RegExp("("+ k +")").test(format)) format = format.replace(RegExp.$1, RegExp.$1.length==1? o[k] : ("00"+ o[k]).substr((""+ o[k]).length)); return format; }
以上代码必须先声明,然后在使用。使用方法:
var d =new Date().format('yyyy-MM-dd'); 先看代码: Date.prototype.format = function (format) { format = format || 'YYYY-MM-DD hh:mm:ss'; var date = { YYYY: this.getFullYear(), YY: this.getYear(), MM: (this.getMonth() > 8 ? '' : '0') + (this.getMonth() + 1), M: this.getMonth() + 1, DD: (this.getDate() > 9 ? '' : '0') + this.getDate(), D: this.getDate(), hh: this.getHours(), mm: (this.getMinutes() > 9 ? '' : '0') + this.getMinutes(), ss: (this.getSeconds() > 9 ? '' : '0') + this.getSeconds(), h: this.getHours(), m: this.getMinutes(), s: this.getSeconds() }; var arr = format.match(/[a-zA-Z]+/g); for (var i = 0; i < arr.length; i++) { format = format.replace(arr[i], date[arr[i]] || ''); } return format; }
具体的参数可以看函数内date对象。
如:new Date("2014-7-23 21:40:54").format("YYYY-MM-DD hh:mm:ss") 得到的结果为:2014-07-23 21:41:36;
如:new Date("2014-7-23 21:41:56").format("YYYY-M-DD hh:mm:ss") 得到的结果为:2014-7-23 21:42:39
注意上面两个例子中的月份,格式中为MM则对应07,为M则对应7.
双字母表示小于10前面补0,单字母则表示小于10不补0。 月、日、分、秒 都可以支持这样设置 。
日期对象为:Mon Sep 21 15:24:14 UTC+0800 2015
<script type="text/javascript"> Date.prototype.format = function(format) { var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(), //minute "s+" : this.getSeconds(), //second "q+" : Math.floor((this.getMonth()+3)/3), //quarter "S" : this.getMilliseconds() //millisecond } if(/(y+)/.test(format)) { format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4 - RegExp.$1.length)); } for(var k in o) { if(new RegExp("("+ k +")").test(format)) { format = format.replace(RegExp.$1,RegExp.$1.length==1 ? o[k] : ("00"+ o[k]).substr((""+ o[k]).length)); } } return format; } var d = new Date(); document.write('日期对象为:'); document.write(d); var str = d.format('yyyy-MM-dd'); var today = document.getElementById("todayButton"); today.value = str; </script>
例子3
<mce:script language="javascript" type="text/javascript"><!-- /** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符 * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) * eg: * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 * (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04 * (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04 * (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04 * (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 */ Date.prototype.pattern=function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时 "H+" : this.getHours(), //小时 "m+" : this.getMinutes(), //分 "s+" : this.getSeconds(), //秒 "q+" : Math.floor((this.getMonth()+3)/3), //季度 "S" : this.getMilliseconds() //毫秒 }; var week = { "0" : "/u65e5", "1" : "/u4e00", "2" : "/u4e8c", "3" : "/u4e09", "4" : "/u56db", "5" : "/u4e94", "6" : "/u516d" }; if(/(y+)/.test(fmt)){ fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); } if(/(E+)/.test(fmt)){ fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]); } 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 date = new Date(); window.alert(date.pattern("yyyy-MM-dd hh:mm:ss")); // --></mce:script>
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索replace
, new
, 代码
, this
, prototype
时间
javascript日期格式化、javascript 格式化、javascript格式化工具、javascript时间格式化、javascript在线格式化,以便于您获取更多的相关知识。