跟我学习javascript的Date对象


Posted in Javascript onNovember 19, 2015

本篇主要介绍Date 日期和时间对象的操作。

1. 介绍

1.1 说明

Date对象,是操作日期和时间的对象。Date对象对日期和时间的操作只能通过方法。

1.2 属性

无;
Date对象对日期和时间的操作只能通过方法。

2. 构造函数

2.1 new Date() :返回当前的本地日期和时间

参数:无

返回值:

{Date} 返回一个表示本地日期和时间的Date对象。

示例:

var dt = new Date();
console.log(dt); // => 返回一个表示本地日期和时间的Date对象

2.2 new Date(milliseconds) :把毫秒数转换为Date对象

参数:

①milliseconds {int} :毫秒数;表示从'1970/01/01 00:00:00'为起点,开始叠加的毫秒数。

注意:起点的时分秒还要加上当前所在的时区,北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00'

返回值:

{Date} 返回一个叠加后的Date对象。

示例:

var dt = new Date(1000 * 60 * 1); // 前进1分钟的毫秒数
console.log(dt); // => {Date}:1970/01/01 08:01:00
dt = new Date(-1000 * 60 * 1); // 倒退1分钟的毫秒数
console.log(dt); // => {Date}:1970/01/01 07:59:00

2.3 new Date(dateStr) :把字符串转换为Date对象

参数:

①dateStr {string} :可转换为Date对象的字符串(可省略时间);字符串的格式主要有两种:

1) yyyy/MM/dd HH:mm:ss (推荐):若省略时间,返回的Date对象的时间为 00:00:00。

2) yyyy-MM-dd HH:mm:ss :若省略时间,返回的Date对象的时间为 08:00:00(加上本地时区)。若不省略时间,此字符串在IE中会转换失败!

返回值:

{Date} 返回一个转换后的Date对象。

示例:

var dt = new Date('2014/12/25'); // yyyy/MM/dd
console.log(dt); // => {Date}:2014/12/25 00:00:00
dt = new Date('2014/12/25 12:00:00'); // yyyy/MM/dd HH:mm:ss
console.log(dt); // => {Date}:2014/12/25 12:00:00

dt = new Date('2014-12-25'); // yyyy-MM-dd
console.log(dt); // => {Date}:2014-12-25 08:00:00 (加上了东8区的时区)
dt = new Date('2014-12-25 12:00:00'); // yyyy-MM-dd HH:mm:ss (注意:此转换方式在IE中会报错!)
console.log(dt); // => {Date}:2014-12-25 12:00:00

2.4 new Date(year, month, opt_day, opt_hours, opt_minutes, opt_seconds, opt_milliseconds) :把年月日、时分秒转换为Date对象

参数:

①year {int} :年份;4位数字。如:1999、2014

②month {int} :月份;2位数字。从0开始计算,0表示1月份、11表示12月份。

③opt_day {int} 可选:号; 2位数字;从1开始计算,1表示1号。

④opt_hours {int} 可选:时;2位数字;取值0~23。

⑤opt_minutes {int} 可选:分;2位数字;取值0~59。

⑥opt_seconds {int} 可选:秒;2未数字;取值0~59。

⑦opt_milliseconds {int} 可选:毫秒;取值0~999。

返回值:

{Date} 返回一个转换后的Date对象。

示例:

var dt = new Date(2014, 11); // 2014年12月(这里输入的月份数字为11)
console.log(dt); // => {Date}:2014/12/01 00:00:00
dt = new Date(2014, 11, 25); // 2014年12月25日
console.log(dt); // => {Date}:2014/12/25 00:00:00
dt = new Date(2014, 11, 25, 15, 30, 40); // 2014年12月25日 15点30分40秒
console.log(dt); // => {Date}:2014/12/25 15:30:40
dt = new Date(2014, 12, 25); // 2014年13月25日(这里输入的月份数字为12,表示第13个月,跳转到第二年的1月)
console.log(dt); // => {Date}:2015/01/25

3. 实例方法

Date对象的实例方法主要分为2种形式:本地时间和UTC时间。同一个方法,一般都会有此2种时间格式操作(方法名带UTC的,就是操作UTC时间),这里主要介绍对本地时间的操作。

3.1 get方法

  • getFullYear() :返回Date对象的年份值;4位年份。
  • getMonth() :返回Date对象的月份值。从0开始,所以真实月份=返回值+1 。
  • getDate() :返回Date对象的月份中的日期值;值的范围1~31 。
  • getHours() :返回Date对象的小时值。
  • getMinutes() :返回Date对象的分钟值。
  • getSeconds() :返回Date对象的秒数值。
  • getMilliseconds() :返回Date对象的毫秒值。
  • getDay() :返回Date对象的一周中的星期值;0为星期天,1为星期一、2为星期二,依此类推
  • getTime() :返回Date对象与'1970/01/01 00:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00') 。

示例:

dt.getFullYear(); // => 2014:年
dt.getMonth(); // => 11:月;实际为12月份(月份从0开始计算)
dt.getDate(); // => 25:日
dt.getHours(); // => 15:时
dt.getMinutes(); // => 30:分
dt.getSeconds(); // => 40:秒
dt.getMilliseconds(); // => 333:毫秒
dt.getDay(); // => 4:星期几的值
dt.getTime(); // => 1419492640333 :返回Date对象与'1970/01/01 00:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00')

3.2 set方法

  • setFullYear(year, opt_month, opt_date) :设置Date对象的年份值;4位年份。
  • setMonth(month, opt_date) :设置Date对象的月份值。0表示1月,11表示12月。
  • setDate(date) :设置Date对象的月份中的日期值;值的范围1~31 。
  • setHours(hour, opt_min, opt_sec, opt_msec) :设置Date对象的小时值。
  • setMinutes(min, opt_sec, opt_msec) :设置Date对象的分钟值。
  • setSeconds(sec, opt_msec) :设置Date对象的秒数值。
  • setMilliseconds(msec) :设置Date对象的毫秒值。

示例:

var dt = new Date();
dt.setFullYear(2014); // => 2014:年
dt.setMonth(11); // => 11:月;实际为12月份(月份从0开始计算)
dt.setDate(25); // => 25:日
dt.setHours(15); // => 15:时
dt.setMinutes(30); // => 30:分
dt.setSeconds(40); // => 40:秒
dt.setMilliseconds(333); // => 333:毫秒
console.log(dt); // => 2014年12月25日 15点30分40秒 333毫秒

3.3 其他方法

  • toString() :将Date转换为一个'年月日 时分秒'字符串
  • toLocaleString() :将Date转换为一个'年月日 时分秒'的本地格式字符串
  • toDateString() :将Date转换为一个'年月日'字符串
  • toLocaleDateString() :将Date转换为一个'年月日'的本地格式字符串
  • toTimeString() :将Date转换为一个'时分秒'字符串
  • toLocaleTimeString() :将Date转换为一个'时分秒'的本地格式字符串

valueOf() :与getTime()一样, 返回Date对象与'1970/01/01 00:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00')

示例:

var dt = new Date();
console.log(dt.toString()); // => Tue Dec 23 2014 22:56:11 GMT+0800 (中国标准时间) :将Date转换为一个'年月日 时分秒'字符串
console.log(dt.toLocaleString()); // => 2014年12月23日 下午10:56:11 :将Date转换为一个'年月日 时分秒'的本地格式字符串

console.log(dt.toDateString()); // => Tue Dec 23 2014 :将Date转换为一个'年月日'字符串
console.log(dt.toLocaleDateString()); // => 2014年12月23日 :将Date转换为一个'年月日'的本地格式字符串

console.log(dt.toTimeString()); // => 22:56:11 GMT+0800 (中国标准时间) :将Date转换为一个'时分秒'字符串
console.log(dt.toLocaleTimeString()); // => 下午10:56:11 :将Date转换为一个'时分秒'的本地格式字符串

console.log(dt.valueOf()); // => 返回Date对象与'1970/01/01 00:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00')

4. 静态方法

4.1 Date.now()

说明:返回当前日期和时间的Date对象与'1970/01/01 00:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00')

参数:无

返回值:

{int} :当前时间与起始时间之间的毫秒数。

示例:

console.log(Date.now()); // => 1419431519276

4.2 Date.parse(dateStr)

说明:把字符串转换为Date对象 ,然后返回此Date对象与'1970/01/01 00:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00')

参数:

①dateStr {string} :可转换为Date对象的字符串(可省略时间);字符串的格式主要有两种:

1) yyyy/MM/dd HH:mm:ss (推荐):若省略时间,返回的Date对象的时间为 00:00:00。

2) yyyy-MM-dd HH:mm:ss :若省略时间,返回的Date对象的时间为 08:00:00(加上本地时区)。若不省略时间,此字符串在IE中返回NaN(非数字)!

返回值:

{int} 返回转换后的Date对象与起始时间之间的毫秒数。

示例:

console.log(Date.parse('2014/12/25 12:00:00')); // => 1419480000000
console.log(Date.parse('2014-12-25 12:00:00')); // => 1419480000000 (注意:此转换方式在IE中返回NaN!)

分享的两个案例:

点击查看: 《javascript获取系统当前时间的方法》

点击查看: 《javascript电商网站抢购倒计时效果实现》

以上就是本文的全部内容,希望通过这篇文章大家更加了解javascript的Date对象,大家共同进步。

Javascript 相关文章推荐
jquery 表单下所有元素的隐藏
Jul 25 Javascript
jquery判断单个复选框是否被选中的代码
Sep 03 Javascript
Java/JS获取flash高宽的具体方法
Dec 27 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
Sep 06 Javascript
bootstrap datepicker限定可选时间范围实现方法
Sep 28 Javascript
bootstrap datetimepicker2.3.11时间插件使用
Nov 19 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
Dec 25 Javascript
vue实现表格增删改查效果的实例代码
Jul 18 Javascript
Vue异步加载about组件
Oct 31 Javascript
vue-router配合ElementUI实现导航的实例
Feb 11 Javascript
如何利用React实现图片识别App
Feb 18 Javascript
JS前端监控采集用户行为的N种姿势
Jul 23 Javascript
跟我学习javascript的this关键字
May 28 #Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
Nov 19 #Javascript
基于Jquery代码实现手风琴菜单
Nov 19 #Javascript
跟我学习javascript的作用域与作用域链
Nov 19 #Javascript
每天一篇javascript学习小结(属性定义方法)
Nov 19 #Javascript
理解 JavaScript Scoping & Hoisting(二)
Nov 18 #Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
Nov 18 #Javascript
You might like
提高php运行速度的一些小技巧分享
2012/07/03 PHP
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
2014/06/26 PHP
浅谈PHP中JSON数据操作
2015/07/01 PHP
非常实用的php验证码类
2016/05/15 PHP
基于PHP实现微信小程序客服消息功能
2019/08/12 PHP
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
JavaScript 原型链学习总结
2010/10/29 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
JS检测输入字符是否包含非法字符的示例代码
2014/02/11 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
JavaScript tab选项卡插件实例代码
2016/02/23 Javascript
很棒的Bootstrap选项卡切换效果
2016/07/01 Javascript
JavaScript实现的反序列化json字符串操作示例
2018/07/18 Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
2018/08/30 Javascript
解决vue-cli项目打包出现空白页和路径错误的问题
2018/09/04 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
2019/06/07 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
Python获取当前时间的方法
2014/01/14 Python
Python高级应用实例对比:高效计算大文件中的最长行的长度
2014/06/08 Python
用python删除java文件头上版权信息的方法
2014/07/31 Python
Python中subprocess的简单使用示例
2015/07/28 Python
Windows下为Python安装Matplotlib模块
2015/11/06 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
python微信公众号开发简单流程实现
2020/03/09 Python
Python多线程多进程实例对比解析
2020/03/12 Python
python能做哪些生活有趣的事情
2020/09/09 Python
将一个文本文件的内容按倒序打印出来
2015/01/05 面试题
应届生个人求职信模板
2013/11/26 职场文书
装修致歉信
2014/01/15 职场文书
幼儿园中秋节活动反思
2014/02/16 职场文书
新农村建设标语
2014/06/24 职场文书
2015年政风行风工作总结
2015/04/21 职场文书
如何写新闻稿
2015/07/18 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang