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 相关文章推荐
jquery实现控制表格行高亮实例
Jun 05 Javascript
深入浅析同源策略和跨域访问
Nov 26 Javascript
javascript字符串函数汇总
Dec 06 Javascript
jQuery自制提示框tooltip改进版
Aug 01 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
Apr 21 jQuery
Angular 4.0学习教程之架构详解
Sep 12 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
Aug 07 Javascript
自己动手封装一个React Native多级联动
Sep 19 Javascript
详解Js里的for…in和for…of的用法
Mar 28 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
Jul 17 Javascript
Vue快速实现通用表单验证功能
Dec 05 Javascript
Typescript3.9 常用新特性一览(推荐)
May 14 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设计模式 Proxy (代理模式)
2011/06/26 PHP
PHP基于数组实现的分页函数实例
2014/08/20 PHP
CI框架给视图添加动态数据
2014/12/01 PHP
浅析php设计模式之数据对象映射模式
2016/03/03 PHP
php下载文件超时时间的设置方法
2016/10/06 PHP
用一段js程序来实现动画功能
2007/03/06 Javascript
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
ajax与302响应代码测试
2013/10/23 Javascript
基于jquery的simpleValidate简易验证插件
2014/01/31 Javascript
轻量级javascript 框架Backbone使用指南
2015/07/24 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
Vue from-validate 表单验证的示例代码
2017/09/26 Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
2020/05/23 Javascript
vue项目或网页上实现文字转换成语音播放功能
2020/06/09 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
Python中pygame的mouse鼠标事件用法实例
2015/11/11 Python
Python正规则表达式学习指南
2016/08/02 Python
python素数筛选法浅析
2018/03/19 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
2019/02/22 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
详解python UDP 编程
2020/08/24 Python
全网最细 Python 格式化输出用法讲解(推荐)
2021/01/18 Python
HTML5中的nav标签学习笔记
2016/06/24 HTML / CSS
如何用PHP实现邮件发送
2012/12/26 面试题
表扬信格式
2014/01/12 职场文书
酒店总经理职务说明书
2014/02/26 职场文书
学生保证书范文
2014/04/28 职场文书
红领巾广播站广播稿(3篇)
2014/09/20 职场文书
中学生旷课检讨书模板
2014/10/08 职场文书
2015元旦节寄语
2014/12/08 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
2015年电气技术员工作总结
2015/07/24 职场文书
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL