js格式化时间的方法是什么,js 格式化时间,js格式化时间的方法

js格式化时间的方法是什么,js 格式化时间,js格式化时间的方法

本文主要介绍js时间格式化的方法,并总结了javascript时间格式化的方法。感兴趣的朋友可以参考一下。

本文分享javascript时间格式化的方法,供大家参考。具体如下。

可以说是Web项目中不可或缺的Javascript类库。可以帮助你快速解决很多客户端编程的问题。这里有一个用js格式化时间的方法。

Date.prototype.format=function(格式)

{

var o={

M : this.getMonth() 1,//month

d : this.getDate(),//day

h : this.getHours(),//小时

m : this.getMinutes(),//minute

s : this.getSeconds(),//秒

q :math . floor((this . getmonth()3)/3),//quarter

s :this . get milliseconds()//毫秒

}

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 ))。测试(格式))

format=format.replace(正则表达式。$1,

正则表达式。$1.length==1?o[k]:

( 00 o[k])。substr(( o[k])。长度));

返回格式;

}

上述代码必须在使用前声明。用法:

var d=新日期()。格式( yyyy-MM-DD );

另一种方法:

在Javascript中,date对象是Date,那么如何输出一个自定义格式的Date对象呢?

我可以告诉你,Date对象有四个内置的方法,用来以字符串格式输出,分别是:

1)toGMTString,以GMT格式显示日期。

2)toLocaleString,根据本地操作系统格式显示日期。

3)toLocaleDateString,以本地格式显示date对象的日期部分。

4)toLocaleTimeString,以本地格式显示日期对象的时间部分。

虽然Javascript的Date对象内置了输出这些字符串的方法,但是这些字符串并不是让我们来控制格式的,那么如果我们需要自己定制特殊的格式该怎么办呢?

别担心,JsJava中提供了一个特殊的类,专门用于日期的指定格式的字符串输出。可以下载JsJava-2.0.zip并引入src/jsjava/text/DateFormat.js,也可以直接引入jslib/jsjava-2.0.js,示例代码如下:

var df=new SimpleDateFormat();//jsJava1.0需要使用DateFormat对象,不要搞错就好。

df . apply pattern( yyyy-MM-DD HH:MM:ss );

var日期=新日期(2015,12,18,10,59,51);

var str=df.format(日期);

document . write(str);//显示结果为:2015年12月18日10时59分51秒

从上面的例子可以看出,你需要做的就是指定模式,那么yyyy,MM等做什么呢?在模式中意味着什么?如果你学过Java中的日期格式,那么你应该知道它们都是占位符。这些占位符有特殊的作用,例如Y代表年份,yyyy代表四位数的年份,例如1982。以下是模式支持的一些特殊字符及其含义(下表引自Java官方文档,做了适当修改):

时代标志[url=]Text[/url] AD

y Year[URL=]Year[/URL]1996;96

一年中的第m个月[URL=]月[/url]七月;七月;07

一年中的第w周[url=]Number[/url] 27

w月中的第周[url=]Number[/url] 2

一年中的第d天[url=]Number[/url] 189

一个月中的第d天[url=]Number[/url] 10

f月份中的星期几[url=]Number[/url] 2

e星期几[url=]Text[/url]星期二;周二

Am/pm标记[url=]Text[/url] PM

一天中的h小时(0-23) [url=]Number[/url] 0

一天中的k小时(1-24) [url=]Number[/url] 24

上午/下午的k小时(0-11) [url=]Number[/url] 0

上午/下午的小时(1-12)[URL=]数字[/url] 12

m小时中的分钟数[url=]Number[/url] 30

s分钟秒[url=]Number[/url] 55

s毫秒[URL=]数字[/url] 978

还有三种方法分享给你:

第一种方法:

//日期的扩展,将日期转换成指定格式的字符串

//您可以使用1-2个占位符来表示月(m)、日(d)、小时(h)、分钟(m)、秒(s)和季度(q),

//年(y)可以使用1-4个占位符,毫秒(s)只能使用1个占位符(1-3位数)

//示例:

//(新日期())。格式( yyyy-MM-dd hh:mm:ss .S)==2006-07-02 08:09:04.423

//(新日期())。格式( yyyy-M-d h:M:S . S )==2006-7-2 8:9:4.18

日期。原型。格式=函数(fmt)

{//作者:meizz

var o={

M : this.getMonth() 1,//月份

d : this.getDate(),//日

h : this.getHours(),//小时

m : this.getMinutes(),//分

s : this.getSeconds(),//秒

问:数学。地板((这个。getmonth()3)/3),//季度

S : this.getMilliseconds() //毫秒

};

if(/(y )/.测试(fmt))

fmt=fmt.replace(正则表达式1美元,(this.getFullYear() ).substr(4 - RegExp .$ 1 .长度));

对于(o中的变量k)

if(new RegExp(( k )).测试(fmt))

fmt=fmt.replace(正则表达式。$1,(正则表达式. length==1)?(o[k]) : ((00 o[k]).substr(( o[k]).长度)));

返回fmt

}

调用方法:

变量时间1=新日期()。格式( yyyy-MM-DD HH:MM:ss );

变量时间2=新日期()。格式( yyyy-MM-DD );

第二种方法:

MCE:script language= JavaScript type= text/JavaScript !-

/**

* 对日期的扩展,将日期转化为指定格式的线

* 月(M)日(d)、12小时(h)、24小时(H)分(m)秒(一个或多个)周(五)季度(问)可以用1-2 个占位符

* 年(y)可以用1-4 个占位符,毫秒(S)只能用一个占位符(是1-3 位的数字)

*例如:

*(新日期())。模式( yyyy-MM-dd hh:mm:ss .S)==2006-07-02 08:09:04.423

*(新日期())。模式( yyyy-MM-DD E HH:MM:ss )==2009-03-10二20:09:04

*(新日期())。模式( yyyy-MM-DD EE hh:MM:ss )==2009-03-10周二08:09:04

*(新日期())。模式( yyyy-MM-DD EEE hh:MM:ss )==2009-03-10星期二08:09:04

*(新日期())。模式( yyyy-M-d h:M:S . S )==2006-7-2 8:9:4.18

*/

约会。原型。模式=函数(fmt) {

var o={

M : this.getMonth() 1,//月份

d : this.getDate(),//日

h : this.getHours()==0?12 : this.getHours(),//小时

H : this.getHours(),//小时

m : this.getMinutes(),//分

s : this.getSeconds(),//秒

问:数学。地板((这个。getmonth()3)/3),//季度

S : this.getMilliseconds() //毫秒

};

var week={

0 : /u65e5 ,

1 : /u4e00 ,

2 : /u4e8c ,

3 : /u4e09 ,

4 : /u56db ,

5 : /u4e94 ,

6 : /u516d

};

if(/(y )/.测试(fmt)){

fmt=fmt.replace(正则表达式1美元,(this.getFullYear() ).substr(4 - RegExp .$ 1 .长度));

}

if(/(E )/.测试(fmt)){

fmt=fmt.replace(正则表达式$1,((RegExp .$1.length1)?(正则表达式.$ 1.1长度2?/u661f/u671f :/u 5468 ): )周[这个。getday() ]);

}

for(var k in o){

if(new RegExp(( k )).测试(fmt)){

fmt=fmt.replace(正则表达式。$1,(正则表达式. length==1)?(o[k]) : ((00 o[k]).substr(( o[k]).长度)));

}

}

返回fmt

}

var Date=new Date();

窗户。警报(日期。模式( yyyy-MM-DD hh:MM:ss );

//- /mce:脚本

第三种方法:

约会。原型。格式=功能(掩码){

var d=this

var zeroize=function (value,length) {

如果(!长度)长度=2;

值=字符串(值);

for (var i=0,zeros=我(长度-值。长度);i ) {

zeros=" 0

}

返回零值;

};

返回mask.replace(/[^]*|[^]*|/b(?d{1,4}|m{1,4}|yy(?yy)?|([hHMstT])/1?|[lLZ])/b/g,函数($0) {

开关($0) {

事例“d”:返回d . getdate();

案例“DD”:返回zeroize(d . getdate());

case ddd: return [Sun , Mon , Tue , Wed , Thr , Fri , Sat ][d . getday()];

case dddd :返回[星期日,星期一,星期二,星期三,星期四,星期五,星期六][d . getday()];

事例“M”:返回d . get month()1;

案例“MM”:返回zeroize(d . get month()1);

case MMM: return [Jan , Feb , Mar , Apr , May , Jun , Jul , Aug , Sep , Oct , Nov , Dec ][d . getmonth()];

案例“MMMM”:return[一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月][d . get month()];

事例“yy”:返回字符串(d.getFullYear()).substr(2);

案例“yyyy”:返回d .获得整年();

事例“h”:返回d . get hours()% 12 | | 12;

案例“hh”:返回zeroize(d . get hours()% 12 | | 12);

案例“H”:返回d . get hours();

案例“HH”:返回zeroize(d . get hours());

案例“m”:返回d . get minutes();

案例“mm”:返回zeroize(d . get minutes());

案例:返回d .获取秒();

案例“ss”:返回zeroize(d . get seconds());

案例“l”:返回zeroize(d.getMilliseconds(),3);

case“L”:var m=d . get毫秒();

if(m 99)m=数学。圆形(m/10);

返回归零(m);

案例“TT”:return d . get hours()12?am : pm ;

案例“TT”:return d . get hours()12?AM : PM ;

事例“Z”:返回d.toUTCString().match(/[A-Z]$/);

//返回去掉引号的引用字符串

默认:返回$0.substr(1,$0。长度-2);

}

});

};

方法一多了,就不知道如何选择了,不过还是要靠大家仔细学习研究,针对不同问题选择解决方法,希望大家喜欢这篇文章。

js格式化时间的方法是什么,js 格式化时间,js格式化时间的方法