`
rcatws
  • 浏览: 5716 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JavaScript 笔记 9 - Date对象

 
阅读更多

JavaScript Date(日期)对象

日期对象用于处理日期和时间。

创建Date对象的方式

  • var d = new Date(); 当前日期。
  • var d = new Date(milliseconds); 从1970/01/01开始计算,milliseconds后的日期。
  • var d = new Date(dateString); 日期字符串,格式为 'month dd, yyyy'或者'yyyy/mm/dd'。
  • var d = new Date(year, month, day, hours, minutes, seconds, milliseconds); 指定年月日时间等,指定日期或者日期时间。

对象属性

属性 描述
constructor 返回对创建此对象的 Date 函数的引用。
prototype 使您有能力向对象添加属性和方法。

 

对象方法

方法 描述
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。
getFullYear() 从 Date 对象以四位数字返回年份。
getHours() 返回 Date 对象的小时 (0 ~ 23)。
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
getMonth() 从 Date 对象返回月份 (0 ~ 11)。
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
getTime() 返回 1970 年 1 月 1 日至今的毫秒数。
getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。
getUTCDate() 根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。
getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。
getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。
getUTCHours() 根据世界时返回 Date 对象的小时 (0 ~ 23)。
getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(0 ~ 999)。
getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。
getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。
getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。
parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。
setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。
setFullYear() 设置 Date 对象中的年份(四位数字)。
setHours() 设置 Date 对象中的小时 (0 ~ 23)。
setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。
setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。
setMonth() 设置 Date 对象中月份 (0 ~ 11)。
setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。
setTime() 以毫秒设置 Date 对象。
setUTCDate() 根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
setUTCFullYear() 根据世界时设置 Date 对象中的年份(四位数字)。
setUTCHours() 根据世界时设置 Date 对象中的小时 (0 ~ 23)。
setUTCMilliseconds() 根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
setUTCMonth() 根据世界时设置 Date 对象中的月份 (0 ~ 11)。
setUTCSeconds() 根据世界时 (UTC) 设置指定时间的秒字段。
toDateString() 把 Date 对象的日期部分转换为字符串。
toISOString() 使用 ISO 标准返回字符串的日期格式。
toJSON() 以 JSON 数据格式返回日期字符串。
toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。
toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。
toLocaleString() 据本地时间格式,把 Date 对象转换为字符串。
toString() 把 Date 对象转换为字符串。
toTimeString() 把 Date 对象的时间部分转换为字符串。
toUTCString() 根据世界时,把 Date 对象转换为字符串。
UTC() 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。
valueOf() 返回 Date 对象的原始值。
测试代码
//创建日期对象
var dt1 = new Date();
var dt2 = new Date(1455704907000);
var dt3 = new Date('Feb, 17 2016');
var dt4 = new Date('2016/02/17 11:26:45');
var dt5 = new Date(2016, 1, 17);
var dt6 = new Date(2016, 1, 17, 16, 23, 10);

document.write('<table border="1"');

document.write('<tr>');
document.write('<td>' + 'var dt1 = new Date()' + '</td>');
document.write('<td>' + dt1.toLocaleString() + '</td>');
document.write('</tr>');

document.write('<tr>');
document.write('<td>' + 'var dt2 = new Date(1455704907000)' + '</td>');
document.write('<td>' + dt2.toLocaleString() + '</td>');
document.write('</tr>');

document.write('<tr>');
document.write('<td>' + 'var dt3 = new Date("Feb, 17 2016")' + '</td>');
document.write('<td>' + dt3.toLocaleString() + '</td>');
document.write('</tr>');

document.write('<tr>');
document.write('<td>' + 'var dt4 = new Date("2016/02/17 11:26:45")' + '</td>');
document.write('<td>' + dt4.toLocaleString() + '</td>');
document.write('</tr>');

document.write('<tr>');
document.write('<td>' + 'var dt5 = new Date(2016, 1, 17)' + '</td>');
document.write('<td>' + dt5.toLocaleString() + '</td>');
document.write('</tr>');

document.write('<tr>');
document.write('<td>' + 'var dt6 = new Date(2016, 1, 17, 16, 23, 10)' + '</td>');
document.write('<td>' + dt6.toLocaleString() + '</td>');
document.write('</tr>');
		
document.write('</table>');

/////////////////////////
//  取日期时间中的某部分数据
/////////////////////////
//getDate(),返回(1~31);getDay(),返回(0~6);
//getFullYear(),返回年份;getHours(),返回(0~23);
//getMilliseconds(),返回(0~999);getMinutes(),返回(0~59);
//getMonth(),返回(0~11);getSeconds(),返回(0~59);getTime(),返回1970年1月1日至今的毫秒数。
document.write('<p>' + 'dt1.getDay() = ' + dt1.getDay() + ',  一周中的某天</p>');
document.write('<p>' + 'dt1.getFullYear() = ' + dt1.getFullYear() + ',  年份</p>');
document.write('<p>' + 'dt1.getMonth() = ' + dt1.getMonth() + ',  月份</p>');	
document.write('<p>' + 'dt1.getDate() = ' + dt1.getDate() + ',  天</p>');
document.write('<p>' + 'dt1.getHours() = ' + dt1.getHours() + ',  小时</p>');
document.write('<p>' + 'dt1.getMinutes() = ' + dt1.getMinutes() + ',  分钟</p>');	
document.write('<p>' + 'dt1.getSeconds() = ' + dt1.getSeconds() + ',  秒</p>');	
document.write('<p>' + 'dt1.getMilliseconds() = ' + dt1.getMilliseconds() + ',  毫秒</p>');
document.write('<p>' + 'dt1.getTime() = ' + dt1.getTime() + ',  1970/01/01至今毫秒</p>');

/////////////////////////
//  日期时间设置
/////////////////////////
//setDate(dateInt), dateInt(1~31)。
dt5.setDate(0);
document.write('<p>' + 'dt5.setDate(0) = ' + dt5.toLocaleDateString() + '</p>');
dt5.setFullYear(2016, 1, 17);
dt5.setDate(1);
document.write('<p>' + 'dt5.setDate(1) = ' + dt5.toLocaleDateString() + '</p>');

dt5.setFullYear(2016, 1, 17);
dt5.setDate(-1);
document.write('<p>' + 'dt5.setDate(-1) = ' + dt5.toLocaleDateString() + '</p>');

dt5.setFullYear(2016, 1, 17);
dt5.setDate(60);
document.write('<p>' + 'dt5.setDate(60) = ' + dt5.toLocaleDateString() + '</p>');

dt5.setFullYear(2016, 1, 17);
dt5.setDate(-60);
document.write('<p>' + 'dt5.setDate(-60) = ' + dt5.toLocaleDateString() + '</p>');

//setFullYear(year [,month [,day]])。year,4位整数; month(0~11); day(1~31)。
dt5.setFullYear(2016, 0, -15);
document.write('<p>' + 'dt5.setFullYear(2016, 0, -15) = ' + dt5.toLocaleDateString() + '</p>');	

dt5.setFullYear(2016, -1, -15);
document.write('<p>' + 'dt5.setFullYear(2016, -1, -15) = ' + dt5.toLocaleDateString() + '</p>');		

dt5.setFullYear(2016, 0, 15);
document.write('<p>' + 'dt5.setFullYear(2016, 0, 15) = ' + dt5.toLocaleDateString() + '</p>');		

dt5.setFullYear(2016, 1, 15);
document.write('<p>' + 'dt5.setFullYear(2016, 1, 15) = ' + dt5.toLocaleDateString() + '</p>');		

//setHours(hour[,min[,sec[,millisec]]])。hour(0~23);min(0~59);sec(0~59);millisec(0~999)
dt6.setHours(0, 0, 0);
document.write('<p>' + 'dt6.setFullYear(0, 0, 0) = ' + dt6.toLocaleTimeString() + '</p>');

dt6.setHours(9, 9, 9);
document.write('<p>' + 'dt6.setFullYear(9, 9, 9) = ' + dt6.toLocaleString() + '</p>');

dt6.setHours(-9, 9, 9);
document.write('<p>' + 'dt6.setFullYear(-9, 9, 9) = ' + dt6.toLocaleString() + '</p>');

dt6.setHours(-9, -9, -9);
document.write('<p>' + 'dt6.setFullYear(-9, -9, -9) = ' + dt6.toLocaleString() + '</p>');

/////////////////////////
//  日期时间应用
/////////////////////////
//当前月的第一天
var fristDate = new Date(dt1.setDate(1));
document.write('<p>第一天 原时间部分: ' + fristDate.toLocaleString() + '</p>');

var fristDate = new Date(dt1.getFullYear(), dt1.getMonth(), 1);
document.write('<p>第一天 无时间部分: ' + fristDate.toLocaleString() + '</p>');

//当前月的最后一天
var lastDate = new Date(dt1.getFullYear(), dt1.getMonth() + 1, 0, dt1.getHours(), dt1.getMinutes(), dt1.getSeconds(),dt1.getMilliseconds());
document.write('<p>最后一天 原时间部分: ' + lastDate.toLocaleString() + '</p>');

var lastDate = new Date(dt1.getFullYear(), dt1.getMonth() + 1, 0);
document.write('<p>最后一天 无时间部分: ' + lastDate.toLocaleString() + '</p>');	

//上月第一天、上月最后一天
var fristDate = new Date(dt1.getFullYear(), dt1.getMonth() - 1, 1);
document.write('<p>上月第一天: ' + fristDate.toLocaleString() + '</p>');

var lastDate = new Date(dt1.getFullYear(), dt1.getMonth(), 0);
document.write('<p>上月最后一天: ' + lastDate.toLocaleString() + '</p>');	

//下月第一天、上月最后一天
var fristDate = new Date(dt1.getFullYear(), dt1.getMonth() + 1, 1);
document.write('<p>上月第一天: ' + fristDate.toLocaleString() + '</p>');

var lastDate = new Date(dt1.getFullYear(), dt1.getMonth() + 2, 0);
document.write('<p>上月最后一天: ' + lastDate.toLocaleString() + '</p>');
 

总结整理

  • 在创建日期对象使用字符串时,'yyyy/mm/dd'这个格式也可以使用,分隔符必须是斜杠。
在使用set函数时,年月日时分秒概念如下:
  • 年份(year), 4位整数。
  • 月份(month),当前范围(0~11),小于范围为之前年份,大于范围为之后年份。
  • 天(day),当前范围(1~31,注:根据实际月份天数计算),小于范围为之前月份,大于范围为之后月份。
  • 时(hours),当前范围(0~23),小于范围为之前天,大于范围为之后天。
  • 分(minutes),当前范围为(0~59),小于范围为之前小时,大于范围为之后小时。
  • 秒(seconds),当前范围为(0~59),小于范围为之前分钟,大于范围为之后分钟。
  • 毫秒(milliseconds),当前范围为(0~999),小于范围为之前分钟,大于范围为之后分钟。
分享到:
评论

相关推荐

    JAVASCRIPT学习笔记9-表格排序

    这次的例子,只是把Nicholas C .Zakas的例子理解了一下,代码是在学习表格排序时的Demo. 单个数据类型的排序比较简单,他这个例子... 需要排序的表格列号,所在列的数据类型(支持int,float,date,string四种数据类型)

    JavaScript基础笔记

    JavaScript基础知识笔记,从变量,运算符,函数,对象,到Date,String,Array对象,基本数据包装类。

    JavaScript笔记

    20.Date对象:(计算方法:先get,再计算,最后set回去) |--1.每个分量上都有一对get/set方法 |--2.命名:get|set年月日,单数;get|set时分秒,复数(s) |--3.除了日期从1开始到31结束外,其余都从0开始到-1...

    JavaScript 笔记二 Array和Date对象方法

    JavaScript的对象基础 本篇主要讲解本地对象Array和Date的各种方法。 一种面向对象语言需要向开发者提供四种基本能力: (1) 封装——把相关的信息(无论数据或方法)存储在对象中的能力。 (2) 聚集——把一个对象...

    javascript学习笔记.docx

    9) 对象的方法可用this对对象自身进行操作,其它方面与普通的函数没有任何区别。 10) 每个类都有一个原型(prototype)对象,它具有一套属性和方法,用来共享一个类的方法和常量,还有一个constructor的属性引用构造...

    w3cshool之JavaScript对象_Date

    针对本人学习javascript的笔记~~大家看好了再下哈

    JavaScript学习笔记之创建对象

    JavaScript 有Date、Array、String等这样的内置对象,功能强大使用简单,人见人爱,但在处理一些复杂的逻辑的时候,内置对象就很无力了,往往需要开发者自定义对象。 从JavaScript定义上讲对象是无序属性的集合,其...

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

    创建 var d=new Date(); 要注意的是在JavaScript中月份的值是从0到11(0表示1月)。... 例如为2012年2月27日创建Date对象: var d=new Date(Date.parse(“Feb 27,2012”)); 如果传给parse方法的字符串不能转换成日期

    JavaScript 学习笔记(五)

    本地对象 ①Array类 ②Date类 对象的类型 内置对象 ①Global对象 ②Math对象 宿主对象 今天继续学习JS中的对象,昨天内置对象Global对象和Math对象,今天继续。宿主对象 所有非本地对象都是宿主对象host object,即...

    JavaScript学习笔记之JS对象

     日期对象Date,  格式:日期对象名称=new Date([日期参数])  日期参数:  1.省略(最常用);  2.英文-数值格式:月 日,公元年 [时:分:秒]  如:today=new Date(“October 1,2008 12:00:00”)  3.数值格式...

    javascript 学习笔记(八)javascript对象

    1、javascript中的内置对象 javascript中除了本身的内置对象,如以下我们所熟悉的对象: •Array •Date •Math •String •RegExp •…… 各个对象都有自己的属性及方法,比如我们经常使用属性及方法 属性:string...

    javascript学习笔记(六) Date 日期类型

    javascript学习笔记之Date 日期类型介绍,需要的朋友可以参考下

    JavaScript学习文档大全.zip #资源分享达人#

    我这里首先有一个完整的笔记(上几万字总结),还有参考文档,其中包含:Array对象的方法参考表格,Canvas参考手册,Date对象方法参考表格,HTML事件列表,jQuery的事件方法,jQuery选择器参考手册,Math参考文档,...

    javascript学习笔记(二)数组和对象部分

    javascript对象部分 一:基础部分 ...它们是Array、Boolean、Date、Function、Global、Math、Number、Object、RegExp、Error 以及 String 对象。 4.对象只是一种特殊的数据。对象拥有属性和方法。 Ja

    Node.js学习笔记.md

    date: 2014-03-03 layout: post title: Node.js 学习笔记 description:Node.js learning notes categories: - nodejs - javascript tags: - nodejs

    Java学习笔记-个人整理的

    {13.8}java.util.Date与java.sql.Date比较}{200}{section.13.8} {13.9}Meta Data}{201}{section.13.9} {13.10}可滚动结果集}{201}{section.13.10} {13.11}Procedure}{201}{section.13.11} {14}xml}{204}{...

    time-date-picker

    3000进行查看完毕用户必须能够提前四周选择日期用户可以选择15分钟间隔的6am到9:45 pm之间的单个时隙在页脚中显示所选日期和时间的摘要过去的任何时间段必须显示为灰色且不可选择如果未选择日期和时间,则“下一步”...

Global site tag (gtag.js) - Google Analytics