跟我学习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 相关文章推荐
更正确的asp冒泡排序
May 24 Javascript
JavaScript 模仿vbs中的 DateAdd() 函数的代码
Aug 13 Javascript
基于jquery的时间段实现代码
Aug 02 Javascript
JQuery 图片的展开和伸缩实例讲解
Apr 18 Javascript
jquery统计输入文字的个数并对其进行判断
Jan 07 Javascript
根据配置文件加载js依赖模块
Dec 29 Javascript
JS实现slide文字框缩放伸展效果代码
Nov 05 Javascript
js中实现字符串和数组的相互转化详解
Jan 24 Javascript
解析预加载显示图片艺术
Dec 05 Javascript
微信小程序通过api接口将json数据展现到小程序示例
Jan 20 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
May 13 Javascript
JS+JQuery实现无缝连接轮播图
Dec 30 jQuery
跟我学习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 注册时输入信息验证器的实现详解
2013/07/05 PHP
解决php表单重复提交实现方法
2015/09/29 PHP
JavaScript国旗变换效果代码
2008/08/13 Javascript
JavaScript关于select的相关操作说明
2010/01/13 Javascript
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
jquery复选框全选/取消示例
2013/12/30 Javascript
javascript对话框使用方法(警告框 javascript确认框 提示框)
2014/01/07 Javascript
js获取内联样式的方法
2015/01/27 Javascript
jQuery DOM删除节点操作指南
2015/03/03 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
2016/09/01 Javascript
Vue中封装input组件的实例详解
2017/10/17 Javascript
Vue修改mint-ui默认样式的方法
2018/02/03 Javascript
JS实现的A*寻路算法详解
2018/12/14 Javascript
jquery 回调操作实例分析【回调成功与回调失败的情况】
2019/09/27 jQuery
vue搜索页开发实例代码详解(热门搜索,历史搜索,淘宝接口演示)
2020/04/11 Javascript
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
使用python实现递归版汉诺塔示例(汉诺塔递归算法)
2014/04/08 Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
2018/01/04 Python
Python工厂函数用法实例分析
2018/05/14 Python
Python登录注册验证功能实现
2018/06/18 Python
python+numpy按行求一个二维数组的最大值方法
2019/07/09 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
西式结婚主持词
2014/03/14 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
原料仓管员岗位职责
2015/04/01 职场文书
卡特教练观后感
2015/06/08 职场文书
党员身份证明材料
2015/06/19 职场文书
婚宴主持词
2015/06/30 职场文书
2016年乡镇七一建党节活动总结
2016/04/05 职场文书
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python
css让页脚保持在底部位置的四种方案
2022/07/23 HTML / CSS