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 13 Javascript
JavaScript 字符串连接性能优化
Dec 20 Javascript
js确定对象类型方法
Mar 30 Javascript
一个支持任意尺寸的图片上下左右滑动效果
Aug 24 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
Dec 11 Javascript
javascript中sort排序实例详解
Jul 24 Javascript
js判断一个字符串是以某个字符串开头的简单实例
Dec 27 Javascript
JavaScript切换搜索引擎的导航网页搜索框实例代码
Jun 11 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
Jun 17 Javascript
vue实现简单loading进度条
Jun 06 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
Oct 26 Javascript
详解Vue3 Teleport 的实践及原理
Dec 02 Vue.js
解决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
PHP4实际应用经验篇(5)
2006/10/09 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
2012/08/14 PHP
解析linux下安装memcacheq(mcq)全过程笔记
2013/06/27 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
PHP计算日期相差天数实例分析
2016/02/23 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
PHP实现的基于单向链表解决约瑟夫环问题示例
2017/09/30 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
Yii 框架使用Forms操作详解
2020/05/18 PHP
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
js实现随机点名小功能
2017/08/17 Javascript
ES6中数组array新增方法实例总结
2017/11/07 Javascript
bootstrap下拉框动态赋值方法
2018/08/10 Javascript
支付宝小程序自定义弹窗dialog插件的实现代码
2018/11/30 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
python正则表达式抓取成语网站
2013/11/20 Python
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
Python+OpenCV图片局部区域像素值处理改进版详解
2019/01/23 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
NumPy 数组使用大全
2019/04/25 Python
python 批量解压压缩文件的实例代码
2019/06/27 Python
Python数学形态学实例分析
2019/09/06 Python
python将数组n等分的实例
2019/12/02 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
2020/06/17 Python
手把手教你用Django执行原生SQL的方法
2021/02/18 Python
CNC数控操作工岗位职责
2013/11/19 职场文书
应届毕业生求职信
2013/11/30 职场文书
公司晚会主持词
2014/03/22 职场文书
践行三严三实心得体会
2014/10/13 职场文书
私用公车造成事故检讨书
2014/11/16 职场文书
长江七号观后感
2015/06/11 职场文书
公务员爱岗敬业心得体会
2016/01/25 职场文书
高二英语教学反思
2016/03/03 职场文书
在redisCluster中模糊获取key方式
2021/07/09 Redis