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 相关文章推荐
JavaScript 事件的一些重要说明
Oct 25 Javascript
最常用的12种设计模式小结
Aug 09 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
Jun 09 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
Jan 09 Javascript
JavaScript操作XML/HTML比较常用的对象属性集锦
Oct 30 Javascript
AngularJS教程之简单应用程序示例
Aug 16 Javascript
jQuery实现的放大镜效果示例
Sep 13 Javascript
详解Node.Js如何处理post数据
Sep 19 Javascript
微信小程序 rpx 尺寸单位详细介绍
Oct 13 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
Oct 01 Javascript
浅谈Javascript常用正则表达式应用
Mar 08 Javascript
Vue执行方法,方法获取data值,设置data值,方法传值操作
Aug 05 Javascript
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
PHP在字符串中查找指定字符串并删除的代码
2008/10/02 PHP
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
php判断终端是手机还是电脑访问网站的思路及代码
2013/04/24 PHP
thinkPHP中U方法加密传递参数功能示例
2018/05/29 PHP
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
2010/11/28 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
2015/03/15 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
JavaScript仿聊天室聊天记录
2016/12/27 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
2019/09/25 Javascript
解决Vue在Tomcat8下部署页面不加载的问题
2019/11/12 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
PyTorch安装与基本使用详解
2020/08/31 Python
Django Form常用功能及代码示例
2020/10/13 Python
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
英国最大的在线床超市:Bed Star
2019/01/24 全球购物
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
澳大利亚头发和美容产品购物网站:OZ Hair & Beauty
2020/03/27 全球购物
一些高难度的SQL面试题
2016/11/29 面试题
学生实习介绍信
2014/01/15 职场文书
网上快餐厅创业计划书
2014/02/01 职场文书
消防应急演练方案
2014/02/12 职场文书
新学期决心书
2014/03/11 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
目标责任书范文
2014/04/14 职场文书
实习单位鉴定评语
2014/04/26 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书
2016抗战胜利71周年红领巾广播稿
2015/12/18 职场文书
Golang 空map和未初始化map的注意事项说明
2021/04/29 Golang
Python基础知识学习之类的继承
2021/05/31 Python
Python多个MP4合成视频的实现方法
2021/07/16 Python
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis