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 相关文章推荐
IE的fireEvent方法概述及应用
Feb 22 Javascript
JavaScript之IE的fireEvent方法详细解析
Nov 20 Javascript
jQuery 无限级菜单的简单实例
Feb 21 Javascript
javascript类型系统 Array对象学习笔记
Jan 09 Javascript
简述Matlab中size()函数的用法
Mar 20 Javascript
jQuery获取当前点击的对象元素(实现代码)
May 19 Javascript
Javascript面试经典套路reduce函数查重
Mar 23 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
May 20 Javascript
node跨域请求方法小结
Aug 25 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
Aug 28 Javascript
简单使用webpack打包文件的实现
Oct 29 Javascript
vue打开子组件弹窗都刷新功能的实现
Sep 21 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内存相关的功能特性详解
2013/06/08 PHP
php后门URL的防范
2013/11/12 PHP
浅谈PHP中foreach/in_array的使用
2015/11/02 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
2017/03/14 PHP
php微信公众号开发之欢迎老朋友
2018/10/20 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
使用PHP+JQuery+Ajax分页的实现
2013/04/23 Javascript
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
使用js写的一个简易的投票
2013/11/27 Javascript
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
2014/02/11 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
2014/05/23 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
jquery控制页面部分刷新的方法
2015/06/24 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
2016/08/29 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
2016/12/14 Javascript
js自定义QQ菜单效果
2017/01/10 Javascript
详解基于Vue-cli搭建的项目如何和后台交互
2018/06/29 Javascript
微信小程序实现顶部导航特效
2019/01/28 Javascript
Python操作串口的方法
2015/06/17 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
python遍历文件夹找出文件夹后缀为py的文件方法
2018/10/21 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
2018/11/06 Python
python实现修改固定模式的字符串内容操作示例
2019/12/30 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
Python实现删除某列中含有空值的行的示例代码
2020/07/20 Python
Django权限控制的使用
2021/01/07 Python
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
Larsson & Jennings官网:现代瑞士钟表匠
2018/03/20 全球购物
整个世界的设计师家具在哈恩:Designathome
2019/03/25 全球购物
计算机专业毕业生的自我评价
2013/11/18 职场文书
实习自我评价怎么写
2013/12/02 职场文书
2015年化工厂工作总结
2015/05/04 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书