js格式化时间小结


Posted in Javascript onNovember 03, 2014

废话不多说,先把各种格式化方法贴给大家

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');
另一种方法:

在Javascript之中,日期对象是Date,那么如何将一个日期对象按照定制的格式进行输出呢?
  可以现告诉你,Date对象有有四个内置方法,用于输出为字符串格式,分别为:
  1)toGMTString,将一个日期按照GMT格式显示
  2)toLocaleString,将一个日期按照本地操作系统格式显示
  3)toLocaleDateString,按照本地格式显示一个日期对象的日期部分
  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.applyPattern("yyyy-MM-dd HH:mm:ss"); 

var date=new Date(2007,3,30,10,59,51); 

var str=df.format(date); 

document.write(str);//显示结果为:2007-04-30 10:59:51

通过上面的例子你可以看出,你需要做的就是指定pattern,那么pattern中yyyy、MM等都表示什么意思呢?如果你学习过Java的日期格式化,那么你应该知道,那都是占位符,这些占位符都具有特殊的函数,例如y表示年,yyyy表示四个数字的年份,例如1982,下面列举一些pattern中支持的特殊字符及其含义(下面表格引自Java的官方文档,做了适当修改):

G Era designator [url=]Text[/url] AD 

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

M Month in year [url=]Month[/url] July; Jul; 07 

w Week in year [url=]Number[/url] 27 

W Week in month [url=]Number[/url] 2 

D Day in year [url=]Number[/url] 189 

d Day in month [url=]Number[/url] 10 

F Day of week in month [url=]Number[/url] 2 

E Day in week [url=]Text[/url] Tuesday; Tue 

a Am/pm marker [url=]Text[/url] PM 

H Hour in day (0-23) [url=]Number[/url] 0 

k Hour in day (1-24) [url=]Number[/url] 24 

K Hour in am/pm (0-11) [url=]Number[/url] 0 

h Hour in am/pm (1-12) [url=]Number[/url] 12 

m Minute in hour [url=]Number[/url] 30 

s Second in minute [url=]Number[/url] 55 

S Millisecond [url=]Number[/url] 978

Javascript 相关文章推荐
Javascript 继承实现例子
Aug 12 Javascript
jQuery语法总结和注意事项小结
Nov 11 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
Apr 18 Javascript
利用javaScript实现点击输入框弹出窗体选择信息
Dec 11 Javascript
jQuery模拟点击A标记示例参考
Apr 17 Javascript
javascript模拟命名空间
Apr 17 Javascript
如何使用jquery实现文字上下滚动效果
Oct 12 Javascript
webpack构建换肤功能的思路详解
Nov 27 Javascript
vue中tab选项卡的实现思路
Nov 25 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
Nov 29 Javascript
Vue分页效果与购物车功能
Dec 13 Javascript
vue解决跨域问题(推荐)
Nov 10 Javascript
解决js下referer兼容各大浏览器的方法
Nov 03 #Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
Nov 02 #Javascript
jQuery中ajax和post处理json的不同示例对比
Nov 02 #Javascript
一款基jquery超炫的动画导航菜单可响应单击事件
Nov 02 #Javascript
加载列表时jquery获取ul中第一个li的属性
Nov 02 #Javascript
基于jquery固定于顶部的导航响应浏览器滚动条事件
Nov 02 #Javascript
jQuery ajax serialize() 方法使用示例
Nov 02 #Javascript
You might like
php一维二维数组键排序方法实例总结
2014/11/13 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
PHP数组操作类实例
2015/07/11 PHP
Jquery选择器 $实现原理
2009/12/02 Javascript
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
2013/01/27 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
JS中append字符串包含onclick无效传递参数失败的解决方案
2016/12/26 Javascript
jQuery验证表单格式的使用方法
2017/01/10 Javascript
详谈angularjs中路由页面强制更新的问题
2017/04/24 Javascript
浅析Vue自定义组件的v-model
2017/11/26 Javascript
Js中使用正则表达式验证输入是否有特殊字符
2018/09/07 Javascript
js实现导航跟随效果
2018/11/17 Javascript
Koa 中的错误处理解析
2019/04/09 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
基于JavaScript伪随机正态分布代码实例
2019/11/07 Javascript
vue实现element表格里表头信息提示功能(推荐)
2019/11/20 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
2020/08/17 Javascript
[03:42]2016国际邀请赛中国区预选赛首日现场玩家采访
2016/06/26 DOTA
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
python Django批量导入数据
2016/03/25 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
2017/11/08 Python
python ddt实现数据驱动
2018/03/14 Python
python pyinstaller 加载ui路径方法
2019/06/10 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
2020/02/27 Python
Python闭包装饰器使用方法汇总
2020/06/29 Python
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
2019年分享net面试的经历和题目
2016/08/07 面试题
电子商务专业毕业生工作推荐信
2013/11/17 职场文书
房屋委托书范本
2014/04/04 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
2014财务年终工作总结
2014/12/08 职场文书
个人学习总结范文
2015/02/15 职场文书
学生通报表扬范文
2015/05/04 职场文书
2015年社区教育工作总结
2015/05/13 职场文书
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python