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实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
Apr 20 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
Sep 02 Javascript
Jquery Uploadify上传带进度条的简单实例
Feb 12 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
Mar 10 Javascript
jQuery获取选中内容及设置元素属性的方法
Jul 09 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
Jul 06 Javascript
js简单网速测试方法完整实例
Dec 15 Javascript
Angularjs 1.3 中的$parse实例代码
Sep 14 Javascript
jQuery选择器之子元素选择器详解
Sep 18 jQuery
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
Oct 24 Javascript
axios全局注册,设置token,以及全局设置url请求网段的方法
Sep 25 Javascript
小程序实现多个选项卡切换
Jun 19 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 HTML代码串截取代码
2008/12/29 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
php求数组全排列,元素所有组合的方法
2016/05/05 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
PHP 多进程与信号中断实现多任务常驻内存管理实例方法
2019/10/04 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
PHPExcel实现的读取多工作表操作示例
2020/04/14 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
javascript的事件描述
2006/09/08 Javascript
jquery实现input输入框实时输入触发事件代码
2014/01/28 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
浅谈node模块与npm包管理工具
2018/01/03 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
jquery中为什么能用$操作
2019/06/18 jQuery
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
vue调用语音播放的方法
2019/09/27 Javascript
在Python中进行自动化单元测试的教程
2015/04/15 Python
Python实用日期时间处理方法汇总
2015/05/09 Python
使用Python3编写抓取网页和只抓网页图片的脚本
2015/08/20 Python
python语言中with as的用法使用详解
2018/02/23 Python
Tensorflow分类器项目自定义数据读入的实现
2019/02/05 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
python+opencv像素的加减和加权操作的实现
2019/07/14 Python
python计算n的阶乘的方法代码
2019/10/25 Python
Python OpenCV视频截取并保存实现代码
2019/11/30 Python
matplotlib 多个图像共用一个colorbar的实现示例
2020/09/10 Python
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
继承公证书
2014/04/09 职场文书
2014乡镇领导班子四风对照检查材料思想汇报
2014/10/05 职场文书
劳动争议和解协议书范本
2014/11/20 职场文书
Vue接口封装的完整步骤记录
2021/05/14 Vue.js
使用pycharm运行flask应用程序的详细教程
2021/06/07 Python