JavaScript高级程序设计 读书笔记之十 本地对象Date日期


Posted in Javascript onFebruary 27, 2012

创建
var d=new Date();
要注意的是在JavaScript中月份的值是从0到11(0表示1月)。

设置日期和时间值
设置日期和时间值有两种方法:

1、只声明距离1970年1月1日凌晨12点的毫秒数

a、直接用距离1970年1月1日凌晨12点的毫秒数

var d=new Date(0);

b、parse方法:

parse方法接受字符串为参数,把该字符串转换成日期值,返回的是毫秒数。

例如为2012年2月27日创建Date对象:

var d=new Date(Date.parse("Feb 27,2012"));

如果传给parse方法的字符串不能转换成日期,该函数返回NaN

c、UTC方法:

UTC方法也返回日期的毫秒表示,但参数为年、月、日、时、分、秒、毫秒,年、月为必选,其他为可选。

例如为2012年2月27日创建Date对象:

var d=new Date(Date.UTC(2012,1,27));
2、直接声明UTC方法接受的参数

var d=new Date(2012,1,27);

参数规则跟UTC方法相同。

Date类方法
Date类方法如下(来自:https://3water.com/w3school/js/jsref_obj_date.htm):

方法 描述 FF IE
Date() 返回当日的日期和时间。 1 3
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 1 3
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 1 3
getMonth() 从 Date 对象返回月份 (0 ~ 11)。 1 3
getFullYear() 从 Date 对象以四位数字返回年份。 1 4
getYear() 请使用 getFullYear() 方法代替。 1 3
getHours() 返回 Date 对象的小时 (0 ~ 23)。 1 3
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。 1 3
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。 1 3
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。 1 4
getTime() 返回 1970 年 1 月 1 日至今的毫秒数。 1 3
getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。 1 3
getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。 1 4
getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。 1 4
getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。 1 4
getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。 1 4
getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。 1 4
getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。 1 4
getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。 1 4
getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。 1 4
parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。 1 3
setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。 1 3
setMonth() 设置 Date 对象中月份 (0 ~ 11)。 1 3
setFullYear() 设置 Date 对象中的年份(四位数字)。 1 4
setYear() 请使用 setFullYear() 方法代替。 1 3
setHours() 设置 Date 对象中的小时 (0 ~ 23)。 1 3
setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。 1 3
setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。 1 3
setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。 1 4
setTime() 以毫秒设置 Date 对象。 1 3
setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。 1 4
setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。 1 4
setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。 1 4
setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。 1 4
setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。 1 4
setUTCSeconds() 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。 1 4
setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。 1 4
toSource() 返回该对象的源代码。 1 -
toString() 把 Date 对象转换为字符串。 1 4
toTimeString() 把 Date 对象的时间部分转换为字符串。 1 4
toDateString() 把 Date 对象的日期部分转换为字符串。 1 4
toGMTString() 请使用 toUTCString() 方法代替。 1 3
toUTCString() 根据世界时,把 Date 对象转换为字符串。 1 4
toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。 1 3
toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。 1 3
toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。 1 3
UTC() 根据世界时返回 1997 年 1 月 1 日 到指定日期的毫秒数。 1 3
valueOf() 返回 Date 对象的原始值。 1 4

分享一个日期格式化方法
在这儿分享一个日期格式化方法,使用方法跟C#中DateTime的ToString方法类似:
Date.prototype.toString=function(format){ 
var time={}; 
time.Year=this.getFullYear(); 
time.TYear=(""+time.Year).substr(2); 
time.Month=this.getMonth()+1; 
time.TMonth=time.Month<10?"0"+time.Month:time.Month; 
time.Day=this.getDate(); 
time.TDay=time.Day<10?"0"+time.Day:time.Day; 
time.Hour=this.getHours(); 
time.THour=time.Hour<10?"0"+time.Hour:time.Hour; 
time.hour=time.Hour<13?time.Hour:time.Hour-12; 
time.Thour=time.hour<10?"0"+time.hour:time.hour; 
time.Minute=this.getMinutes(); 
time.TMinute=time.Minute<10?"0"+time.Minute:time.Minute; 
time.Second=this.getSeconds(); 
time.TSecond=time.Second<10?"0"+time.Second:time.Second; 
time.Millisecond=this.getMilliseconds(); var oNumber=time.Millisecond/1000; 
if(format!=undefined && format.replace(/\s/g,"").length>0){ 
format=format 
.replace(/yyyy/ig,time.Year) 
.replace(/yyy/ig,time.Year) 
.replace(/yy/ig,time.TYear) 
.replace(/y/ig,time.TYear) 
.replace(/MM/g,time.TMonth) 
.replace(/M/g,time.Month) 
.replace(/dd/ig,time.TDay) 
.replace(/d/ig,time.Day) 
.replace(/HH/g,time.THour) 
.replace(/H/g,time.Hour) 
.replace(/hh/g,time.Thour) 
.replace(/h/g,time.hour) 
.replace(/mm/g,time.TMinute) 
.replace(/m/g,time.Minute) 
.replace(/ss/ig,time.TSecond) 
.replace(/s/ig,time.Second) 
.replace(/fff/ig,time.Millisecond) 
.replace(/ff/ig,oNumber.toFixed(2)*100) 
.replace(/f/ig,oNumber.toFixed(1)*10); 
} 
else{ 
format=time.Year+"-"+time.Month+"-"+time.Day+" "+time.Hour+":"+time.Minute+":"+time.Second; 
} 
return format; 
} 
var d=new Date(); 
console.log(d.toString()); //2011-12-29 11:29:43 
console.log(d.toString("")); //2011-12-29 11:29:43 
console.log(d.toString("yyyy-MM-dd")); //2011-12-29 
console.log(d.toString("HH:mm:ss")); //11:29:43 
console.log(d.toString("yyyy-MM-dd HH:mm:ss")); //2011-12-29 11:29:43 
console.log(d.toString("yyyy年MM月dd日 HH:mm:ss")); //2011年12月29日 11:29:43 
console.log(d.toString("yyyy-MM-dd HH:mm:ss fff")); //2011-12-29 11:29:43 862
Javascript 相关文章推荐
Prototype使用指南之base.js
Jan 10 Javascript
基于jQuery制作迷你背词汇工具
Jul 27 Javascript
jquery图片上下tab切换效果
Mar 18 Javascript
基于jquery实现轮播特效
Apr 22 Javascript
javascript弹出窗口中增加确定取消按钮
Jun 24 Javascript
angular directive的简单使用总结
May 24 Javascript
jQuery 1.9版本以上的浏览器判断方法代码分享
Aug 28 jQuery
详解从新建vue项目到引入组件Element的方法
Aug 29 Javascript
Three.js实现绘制字体模型示例代码
Sep 26 Javascript
基于node.js实现微信支付退款功能
Dec 19 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
Jul 31 jQuery
使用vue编写h5公众号跳转小程序的实现代码
Nov 27 Vue.js
JavaScript高级程序设计 读书笔记之九 本地对象Array
Feb 27 #Javascript
JavaScript高级程序设计 读书笔记之八 Function类及闭包
Feb 27 #Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
Feb 27 #Javascript
JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
Feb 27 #Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
Feb 27 #Javascript
JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换
Feb 27 #Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
Feb 27 #Javascript
You might like
解析CodeIgniter自定义配置文件
2013/06/18 PHP
如何利用PHP执行.SQL文件
2013/07/05 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
mailto的使用技巧分享
2012/12/21 Javascript
js传参数受特殊字符影响错误的解决方法
2013/10/21 Javascript
JS实现闪动的title消息提醒效果
2014/06/20 Javascript
jquery取子节点及当前节点属性值的方法
2014/09/09 Javascript
HTML,CSS,JavaScript速查表推荐
2014/12/02 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
2015/03/11 Javascript
angular2中Http请求原理与用法详解
2018/01/11 Javascript
vue element table 表格请求后台排序的方法
2018/09/28 Javascript
Nodejs实现多文件夹文件同步
2018/10/17 NodeJs
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
2019/11/18 NodeJs
vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多(步骤详解)
2020/01/14 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
[57:37]EG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python实现的Google IP 可用性检测脚本
2015/04/23 Python
django中嵌套的try-except实例
2020/05/21 Python
python 使用elasticsearch 实现翻页的三种方式
2020/07/31 Python
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
Coach澳大利亚官方网站:美国著名时尚奢侈品牌
2017/05/24 全球购物
澳大利亚正品化妆品之家:Cosmetic Capital
2017/07/03 全球购物
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
安全教育心得体会
2013/12/29 职场文书
业务副厂长岗位职责
2014/01/03 职场文书
股份合作协议书范本
2014/04/14 职场文书
2014财务部年度工作总结
2014/12/08 职场文书
道士塔读书笔记
2015/06/30 职场文书
2015年暑期社会实践方案
2015/07/14 职场文书
2015大学迎新标语
2015/07/16 职场文书
公司管理制度范本
2015/08/03 职场文书
计算机教师工作总结
2015/08/13 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
JS数组的常用方法整理
2021/03/31 Javascript
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL