2019独角兽企业重金招聘Python工程师标准>>>
记得刚开始学js的时候,得到一个时间(以秒为单位)之后,就自己去计算年月日、时分秒,现在想想,觉得自己好傻哦,只要掌握好Date对象的使用,这些根本不是事了。
Date 对象用于处理日期和时间。 Date可以以普通函数的方式运行,如:var d=Date();var d=Date("2000/1/1");这两句代码都是直接把Date当普通函数使用,获取当前时间,并且以字符串的形式返回。 Date 更多的还是以对象的方式使用,创建一个日期对象,如:
var d0 = new Date();//当前日期和时间
var d1 = new Date(1475919165023);//参数为毫秒(从 1970 年 1 月 1 日至今的毫秒数),返回对应时间的日期对象
var d2 = new Date("Sat Oct 08 2016 17:39:45");//返回对应时间的日期对象,new Date(dateString)
var d3 = new Date(79,5,24);//返回对应时间的日期对象
//返回对应时间的日期对象,new Date(year, month, day, hours, minutes, seconds, milliseconds)
//月份以0开始,
var d4 = new Date(79,5,24,11,33,0);
下面介绍一些Date 对象的方法:
获取时间,如下:
var d=new Date();//获取当前时间对象的年份,getYear()方法已废弃
var year = d.getFullYear();//获取当前时间对象的月份,以0开始(0~11)
var month = d.getMonth();//获取当前时间对象的日期,返回一个月中的某一天 (1 ~ 31)
var date = d.getDate();//获取当前时间对象的日期,返回一周中的某一天 (0 ~ 6),0代表的星期日
var day = d.getDay();//获取当前时间对象的小时(0 ~ 23)
var hour = d.getHours();//获取当前时间对象的分(0 ~ 59)
var minutes = d.getMinutes();//获取当前时间对象的秒(0 ~ 59)
var seconds = d.getSeconds();//获取当前时间对象的毫秒(0 ~ 999)
var milliseconds = d.getMilliseconds();//返回 1970 年 1 月 1 日至今的毫秒数。
var time = d.getTime();/*返回本地时间与 GMT 时间之间的时间差,以分钟为单位。由于使用夏令时的惯例,该方法的返回值不是一个常量。 协调世界时,又称世界统一时间,世界标准时间,国际协调时间,简称UTC(Universal Coordinated Time)。UTC 时间即是 GMT(格林尼治) 时间。*/
var timezon = d.getTimezoneOffset();//根据世界时 (UTC) 表示的四位数字年份
var utcyear = d.getUTCFullYear();//返回一个表示月份的数字(按照世界时 UTC)(0~11)
var utcmonth = d.getUTCMonth();//根据世界时返回一个月 (UTC) 中的某一天(1 ~ 31)。
//协调世界时 (UTC) 是以原子时秒长为基础,在时刻上尽量接近于世界时的一种时间计量系统。
var utcdate = d.getUTCDate();//根据世界时返回表示星期的一天的一个数字(0 ~ 6),0代表的星期日
var utcday = d.getUTCDay();//根据世界时 (UTC) 返回时间的小时(0 ~ 23)
var utchour = d.getUTCHours();//根据世界时 (UTC) 返回时间的分钟(0 ~ 59)
var utcminutes = d.getUTCMinutes();//根据世界时返回时间的秒数(0~59)
var utcseconds= d.getUTCSeconds();//根据世界时 (UTC) 返回时间的毫秒(0~999)
var utcmilseconds = d.getUTCMilliseconds();
设置时间,如下:
var d=new Date();//设置年份。,setYear()方法已废弃。d.setFullYear(year,month,day),该方法可以用来设置年月日,
//年是必须的,四位整数;月是0~11之间的整数,-1 为去年的最后一个月,12 为明年的第一个月,可选;
//日是1 ~ 31之间的整数,0 为上个月最后一天;如果当月有31天:32 为下个月的第一天,
//如果当月有30天:32 为下一个月的第二天。可选
d.setFullYear(2020);//设置月份(0~11)
d.setMonth(5);//设置一个月的某一天,一个月中的一天的一个数值(1 ~ 31):0 为上一个月的最后一天,-1 为上一个月最后一天之前的一天,
//如果当月有 31 天:32 为下个月的第一天;如果当月有 30 天:32 为下一个月的第二天
d.setDate(15);//设置指定的时间的小时字段(0 ~ 23),d.setHours(hour,min,sec,millisec),
//该方法可以用来设置时(0~23)、分(0~59)、秒(0~59)、毫秒(0~999)
d.setHours(15);//设置指定时间的分钟字段(0 ~ 59),d.setMinutes(min,sec,millisec),可用来设置分(0~59)、秒(0~59)、毫秒(0~999)
d.setMinutes(15);//设置日期对象的秒字段(0 ~ 59),d.setSeconds(sec,millisec),可用来设置秒(0~59)、毫秒(0~999)
d.setSeconds(35);//设置指定时间的毫秒字段(0 ~ 999)
d.setMilliseconds(192);//毫秒设置 Date 对象。参数为要设置的日期和时间据 GMT 时间 1970 年 1 月 1 日午夜之间的毫秒数。
//这种类型的毫秒值可以传递给 Date() 构造函数,可以通过调用 Date.UTC() 和 Date.parse() 方法获得该值。
//以毫秒形式表示日期可以使它独立于时区。
d.setTime(1332403882588);//根据世界时 (UTC) 设置年份,d.setUTCFullYear(year,month,day)
d.setUTCFullYear(2016);//根据世界时 (UTC) 来设置月份,d.setUTCMonth(month,day)
d.setUTCMonth(5);//根据世界时 (UTC) 设置一个月中的某一天
d.setUTCDate(15);//根据世界时 (UTC) 设置小时(0 - 23),d.setUTCHours(hour,min,sec,millisec)
d.setUTCHours(15);//根据世界时 (UTC) 来设置指定时间的分钟,d.setUTCMinutes(min,sec,millisec)
d.setUTCMinutes(17);//根据世界时 (UTC) 设置指定时间的秒字段,d.setUTCSeconds(sec,millisec)
d.setUTCSeconds(35);//根据世界时 (UTC) 设置指定时间的毫秒
d.setUTCMilliseconds(192);
其他的一些方法:
var d=new Date();//解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。d.parse(datestring)
var s = Date.parse("March 12, 2012");//把 Date 对象的日期部分转换为字符串,并返回结果。
var s= d.toDateString();//可根据本地时间把 Date 对象的日期部分转换为字符串,并返回结果。
var s= d.toLocaleDateString();//把 Date 对象的时间部分转换为字符串,并返回结果。
var s= d.toTimeString();//可根据本地时间把 Date 对象的时间部分转换为字符串,并返回结果。
var s= d.toLocaleTimeString();//把 Date 对象转换为字符串,并返回结果。
var s= d.toString();//可根据本地时间把 Date 对象转换为字符串,并返回结果。
var s= d.toLocaleString();//使用ISO标准将 Date 对象转换为字符串。该标准称为 ISO-8601 ,格式为: YYYY-MM-DDTHH:mm:ss.sssZ,ie8及以下浏览器不支持
var s= d.toISOString();//把Date 对象转换为字符串,并格式化为 JSON 数据格式,ie8及以下浏览器不支持
var s= d.toJSON();//根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数,Date.UTC(year,month,day,hours,minutes,seconds,millisec)
var s= Date.UTC(2012,02,30);//可根据世界时 (UTC) 把 Date 对象转换为字符串,并返回结果。toGMTString()方法已废弃
var s= d.toUTCString();//返回 Date 对象的原始值,原始值返回1970年1月1日午夜以来的毫秒数
var s= d.valueOf();//返回当前日期和时间的Date对象与1970年1月1日午夜之间的毫秒值
var s= Date.now()
注:1970年1月1日午夜:'1970/01/01 00:00:00'(北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00') 。