Javascript之Date对象详解,Date日期和时间对象

创办 Date 对象的语法:

Date 日期和时间对象

Date对象即日期时间对象,它的显要意义是落实对日期时间的处理

Date

Date对象是JavaScript提供的日期和时间的操作接口

Date对象有多少个静态方法

  • Date.now()

Javascript之Date对象详解,Date日期和时间对象。now方法重返当前偏离壹玖柒零年七月1日00:00:00的纳秒数

Date.now(); // 1427974222853

  • Date.parse()

parse方法用来分析日期字符串,重返距离一九六七年二月1日 00:00:00的纳秒数

日子字符串的格式应该完全恐怕部分符合YYYY-MM-DDTHH:mm:ss.sssZ格式,Z表示时区,是可选的

设若条分缕析失败,重回NaN

Date.parse(“January 26, 2011 13:51:50”)
Date.parse(“Mon, 25 Dec 1995 13:30:00 GMT”)
Date.parse(“Mon, 25 Dec 1995 13:30:00 +0430”)
Date.parse(“2011-10-10”)
Date.parse(“2011-10-10T14:48:00”)

  • Date.UTC()

暗中同意意况下,Date对象回来的都以当下时区的日子

Date.UTC方法能够回去UTC时间。该情势接受年、月、日等变量作为参数,重返当前离开1970年八月1日
00:00:00 UTC的微秒数

Date.UTC(2015,0,1,2,3,4,567); //1420077784567

  • Date()

Date函数能够直接调用,重回二个脚下日子和时间的字符串,那时候是不是有参数结果一律

Date(); // “Thu Apr 02 2015 19:20:29 GMT+0800 (CST)”

  • new Date()

使用Date构造函数创制一个Date的实例

  • new Date();
    实例时间为近来时刻,同期实例有个别措施

  • get

Date.prototype.get提姆e():再次回到实例对象距离一九七零年七月1日00:00:00对应的微秒数,等同于valueOf方法

Date.prototype.getDate():重回实例对象对应每一个月的几号(从1开始)

Date.prototype.getDay():再次来到星期,周日为0,周四为1,就那样类推

Date.prototype.getFullYear():再次回到三个人的年份

Date.prototype.getMonth():重回月份(0象征1五月,11象征10月)

Date.prototype.getHours():重回小时(0-23)

Date.prototype.getMilliseconds():重返纳秒(0-999)

Date.prototype.getMinutes():再次回到分钟(0-59)

Date.prototype.getSeconds():返回秒(0-59)

Date.prototype.getTimezoneOffset():再次回到当今日子与UTC的时区差距,以分石英钟示,重返结果考虑到了夏令时因素

  • set

Date.prototype.setDate(date):设置实例对象对应的每一个月的几号(1-31),重回改动后纳秒时间戳

Date.prototype.setFullYear(year [, month, date]):设置四个人年份

Date.prototype.setHours(hour [, min, sec, ms]):设置小时(0-23)

Date.prototype.setMilliseconds():设置微秒(0-999)

Date.prototype.setMinutes(min [, sec, ms]):设置分钟(0-59)

Date.prototype.setMonth(month [, date]):设置月份(0-11)

Date.prototype.setSeconds(sec [, ms]):设置秒(0-59)

Date.prototype.setTime(milliseconds):设置飞秒时间戳

  • Date.prototype.toString()

toString方法重返一个完好无缺的年华字符串

var today = new Date();
today.toString(); // “Fri Apr 03 2015 11:17:29 GMT+0800 (CST)”
Date.prototype.toUTCString(),Date.prototype.toISOString()

toUTCString方法重返对应的UTC时间,也正是比法国巴黎时间晚8个小时。toISOString方法重临对应时间的ISO8601写法。

var today = new Date(1362790014000);

today.toUTCString(); //

today.toISOString(); //

  • Date.prototype.toDateString(),Date.prototype.toTimeString()

toDateString方法重临日期的字符串方式,toTimeString方法重临时间的字符串方式。

var today = new Date(1362790014000);

today.toDateString(); // “Fri Apr 03 2015”

today.toTimeString(); // “11:17:29 GMT+0800 (CST)”
toLocalDateString, toLocalTimeString

toLocalDateString方法再次来到八个字符串,代表日期的当地写法

toLocalTimeString方法再次来到贰个字符串,代表时间的本地写法

var today = new Date(1362790014000);

today.toLocaleDateString(); // “2015/4/3”

today.toLocaleTimeString(); // “上午11:17:29”

  • new Date(milliseconds)

Date对象接受从1966年1月1日00:00:00
UTC开头总结的纳秒数作为参数。那表示一旦将Unix时间戳作为参数,必须将Unix时间戳乘以一千。

new Date(1378218728000); // Tue Sep 03 2013 22:32:08 GMT+0800 (CST)

// 1966年一月2日的零时
var Jan02_1970 = new Date(3600241000); // Fri Jan 02 1970 08:00:00
GMT+0800 (CST)

  • new Date(datestring)

Date对象还接受二个日子字符串作为参数,重回所对应的岁月。全数能够被Date.parse()方法深入分析的日期字符串,都可以当作Date对象的参数

new Date(“2013-02-15”)
new Date(“2013-FEB-15”)
new Date(“FEB, 15, 2013”)
new Date(“FEB 15, 2013”)
new Date(“Feberuary, 15, 2013”)
new Date(“Feberuary 15, 2013”)
new Date(“15, Feberuary, 2013”)
new Date(year, month [, day, hours, minutes, seconds, ms])

在几个参数的动静下,Date对象将其个别作为对应的年、月、日、时辰、秒钟、秒和皮秒。借使使用这种用法,最少需求钦命多少个参数(年和月),别的参数都以可选的,默许等于0。假若只使用年三个参数,Date对象会将其说明为皮秒数。

new Date(2013) // Thu Jan 01 1970 08:00:02 GMT+0800 (CST)
new Date(2013,0) // Tue Jan 01 2013 00:00:00 GMT+0800 (CST)
new Date(2013,0,1) // Tue Jan 01 2013 00:00:00 GMT+0800 (CST)
new Date(2013,0,1,0) // Tue Jan 01 2013 00:00:00 GMT+0800 (CST)
new Date(2013,0,1,0,0,0,0) // Tue Jan 01 2013 00:00:00 GMT+0800 (CST)
上面代码(除了第一行)再次回到的是二〇一一年八月1日零点的大运,可以观察月份从0开端妄图,因而3月是0,八月是11。不过,月份中间的天命从1早先谋算。

那么些参数假若超越了健康范围,会被活动折算。比如,即使月设为15,就算折算为本年的十月。参数还是能够利用负数,表示扣去的时日。

new Date(2013,0) // Tue Jan 01 2013 00:00:00 GMT+0800 (CST)
new Date(2013,-1) // Sat Dec 01 2012 00:00:00 GMT+0800 (CST)
new Date(2013,0,1) // Tue Jan 01 2013 00:00:00 GMT+0800 (CST)
new Date(2013,0,0) // Mon Dec 31 2012 00:00:00 GMT+0800 (CST)
new Date(2013,0,-1) // Sun Dec 30 2012 00:00:00 GMT+0800 (CST)

  • 日子运算

类型转换时,Date对象的实譬如果转为数值,则极度对应的皮秒数;假诺转为字符串,则十三分对应的日期字符串。所以,七个日子对象进行减法运算,重返的正是它们间隔的阿秒数;实行加法运算,重临的就是三翻五次后的八个字符串。

var then = new Date(2013,2,1);
var now = new Date(2013,3,1);

now – then
// 2678400000

now + then
// “Mon Apr 01 2013 00:00:00 GMT+0800 (CST)Fri Mar 01 2013 00:00:00
GMT+0800 (CST)”

复制代码 代码如下:

1. 介绍

1、创建Date对象

//Date 对象会自行把当下日期和岁月保存为其开首值。
new Date();

  Date对象,是操作日期和岁月的目的。Date对象对日期和时间的操作只好通过艺术。

复制代码 代码如下:

//value-阿秒:代表自世界和煦时1966年10月1日00:00:00开头的数值。
new Date(value);

2. 构造函数

var myDate = new Date();

//dateString-日期字符串:表示日期的字符串值。此字符串应该是在parse方法中分辨的格式。
new Date(dateString);

2.1 new Date() :重临当前的本地日期和岁月
参数:无

//year-年:代表年份的整数值。为了避免两千年难题最棒钦命4位数的年份;
使用1997, 而不用用98
//month-月:代表月份的整数值从0(八月)到11(一月)
//day-日:代表二个月初的第几天的整数值,从1初阶
//hour-时辰:代表一端阳的小时数的整数值 (24小时制)
//minute-分钟
//second-秒
//millisecond-毫秒
new Date(year, month, day [, hour, minute, second, millisecond]);

返回值:

复制代码 代码如下:

Date()

{Date} 再次回到一个意味本地日期和时间的Date对象。

var myDate = new Date(“July 21, 一九八三01:15:00”);//此种方法为自定义日期时间的艺术,格式若不对的话为唤起Invalid
Date
Date对象的constructor属性为:Date
document.write(myDate.constructor == Date);//输出true

Date() 方法可回到当天的日子和时间。

示例:

2、Date()方法,重临后天的日子和岁月,格式是固定格式:

复制代码 代码如下:

复制代码 代码如下:

复制代码 代码如下:

console.log(Date());  //”Tue Sep 17 二〇一二 12:22:55 罗红霉素T+0800
(中华夏族民共和国家标准准时间)”

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

document.write(Date());//Date()属于Javascript的放置对象,能够一直选拔

parse()

2.2 new Date(milliseconds) :把微秒数调换为Date对象
参数:

输出:
Fri Oct 26 2012 10:15:22 GMT+0800
格式: 星期 月份 日期 年份 时间 时区

parse() 方法可剖判三个日卯时间字符串,并赶回 1966/1/1
清晨相差该日期时间的纳秒数。

①milliseconds {int} :微秒数;表示从’1967/01/01
00:00:00’为起源,开首增大的阿秒数。

另:借使自定义三个Date()对象,重返结果是一律的

Date.parse(datestring)

专注:源点的时分秒还要加受骗前所在的时区,东京时间的时区为东8区,起源时间实际上为:’一九六九/01/01
08:00:00′

复制代码 代码如下:

参数datestring是供给的,表示日期和岁月的字符串。

返回值:

var myDate = new Date();
document.write(myDate);

只顾,该方式是 Date 对象的静态方法。一般接纳 Date.parse()
的款型来调用,并非由此 dateobject.parse() 调用该方法。

{Date} 重回贰个叠合后的Date对象。

Fri Oct 26 2012 10:17:09 GMT+0800

复制代码 代码如下:

示例:

注:两个分其他地点在于:
前端只可以彰显当前的年月,而不可能随随意便定义时间
例,document.write(Date(“July 21, 1983 01:15:00”));
它显得的日子照旧是现阶段的光阴:Fri Oct 26 二零一二 10:15:22 GMT+0800

console.log(Date.parse(Date()));        //1379392301000
console.log(Date.parse(“Aug 9, 1995”)); //807897600000

复制代码 代码如下:

3、getDate()方法重返月份的某一天

UTC()

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

月份中的某一天指的是利用本地时间,其重返值是 1 ~ 31 之间的贰个整数。

UTC() 方法可依靠世界时再次回到 一九六八 年 1 月 1 日 到内定日期的飞秒数。

2.3 new Date(dateStr) :把字符串调换为Date对象
参数:

复制代码 代码如下:

Date.UTC(year, month, day, hours, minutes, seconds, ms)

①dateStr {string}
:可改换为Date对象的字符串(可归纳时间);字符串的格式首要有二种:

var myDate = new Date();
document.write(myDate.getDate());

参数year是必备的,表示年份的肆人数字;month是必需的,表示月份的整数,介于
0 ~ 11;day是可选的,表示日期的莫西干发型,介于 1 ~
31;hours是可选的,表示时辰的大背头,介于 0 ~
23;minutes是可选的,表示分钟的整数,介于 0 ~
59;seconds是可选的,表示秒的大背头,介于 0 ~
59;ms是可选的,表示飞秒的整数,介于 0 ~ 999。

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

输出:26

Date.UTC() 是一种静态方法。Date.UTC() 方法的参数钦命日期和时间,它们都是UTC 时间,处于 阿奇霉素T 时区。钦定的 UTC 时间将调换到皮秒的花样,那样构造函数
Date() 和办法 Date.setTime() 就能够运用它了。

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

复制代码 代码如下:

ECMAScript中的Date类型是早期Java中的Java.util.Date类基础上塑造的。为此,Date类型使用来源UTC(Coordinated
Universal
Time,国际和谐时间)一九七〇年2月1日子夜(零时)先河通过的纳秒数来保存日期。在使用这种数量存款和储蓄格式的规格下,Date类型保存的日期能够准确到一九七〇年四月1日事先或未来的285616年。

返回值:

var myDate = new Date(“July 21, 1983 01:15:00”);
document.write(myDate.getDate());

瞩目:parse()日期和时间都依照本地时区而非丙胺搏来霉素T来创立。而UTC()是基于青霉素T来创制。他们的参数也分裂样。

{Date} 再次回到贰个转换后的Date对象。

输出:21

威斯他霉素T:世界时,即Green尼治所在地的正规时间。

示例:

4、getDay() 方法可回到表示星期的某一天的数字,它的取值范围:0–6

复制代码 代码如下:

复制代码 代码如下:

复制代码 代码如下:

var d = new 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}:贰零壹肆-12-25 08:00:00
(加上了东8区的时区)
dt = new Date(‘二〇一五-12-25 12:00:00’); // yyyy-MM-dd HH:mm:ss
(注意:此转换格局在IE中会报错!)
console.log(dt); // => {Date}:2014-12-25 12:00:00

var myDate = new Date(“July 21, 1983 01:15:00”);
document.write(mtDate.getDay());

console.log(Date.parse(d));  //1379393562000
console.log(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(),
d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds())); 
//1379422362020

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

输出4

ECMAScript5加多了Data.now()方法,再次来到表示调用这几个艺术时的日期和岁月的微秒数。IE9才起来扶助,可是我们得以经过

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

为此我们得以采纳Date对象和Array对象结合的主意将时刻人性化展现出来,上边这种艺术足够常用

  • 操作符来把Data对象调换来字符串,获得平等的值。

②month {int} :月份;2位数字。从0开始总结,0象征三月份、11象征三月份。

复制代码 代码如下:

复制代码 代码如下:

③opt_day {int} 可选:号; 2位数字;从1初叶计算,1象征1号。

var weekday = new Array(7);
weekday[0]=”Sunday”;
weekday[1]=”Monday”;
weekday[2]=”Tuesday”;
weekday[3]=”Wednesday”;
weekday[4]=”Thursday”;
weekday[5]=”Friday”;
weekday[6]=”Saturday”;
var myDate = new Date();
document.write(weekday[myDate.getDay()]);

var d1 = Date.now();
var d2 = + new Date();

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

5、getMonth(),重临月份字段,再次来到值是 0(四月) 到 11(十八月)
之间的一个子弹头

console.log(d1);  //1379393793104
console.log(d2);  //1379393793104

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

和getDay()类似,大家也选择与Array对象相结合的秘籍

JavaScript中的日期转变特别的奇异,不仅仅会因为参数分化而有不一致的分解结果,并且在逐个浏览器中的表现也迥然不一致,如下:

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

复制代码 代码如下:

复制代码 代码如下:

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

var d=new Date();
var month=new Array(12);
month[0]=”January”;
month[1]=”February”;
month[2]=”March”;
month[3]=”April”;
month[4]=”May”;
month[5]=”June”;
month[6]=”July”;
month[7]=”August”;
month[8]=”September”;
month[9]=”October”;
month[10]=”November”;
month[11]=”December”;
document.write(“The month is ” + month[d.getMonth()]);

var d1 = new Date(“2012/03/13”);
var d2 = new Date(“2012-03-13”);
var d3 = new Date(“2012-3-13”);

返回值:

6、getFullYear() 方法可回到一个表示年份的 4 位数字。

console.log(d1);  //Tue Mar 13 2011 00:00:00 金霉素T+0800 (中华夏族民共和国家规范准时间)
console.log(d2);  //Tue Mar 13 二零一三 08:00:00 氯霉素T+0800 (中中原人民共和国家标准准时间)
console.log(d3);  //Tue Mar 13 2011 00:00:00 罗红霉素T+0800 (中华人民共和国家规范准时间)

{Date} 重回三个转移后的Date对象。

重返值是多个几个人数,表示包涵世纪值在内的完全年份,实际不是两位数的缩写情势。

在差异浏览器中的表现参照他事他说加以考察:

示例:

复制代码 代码如下:

为了幸免这么些难题,请依照上边包车型地铁提出:

复制代码 代码如下:

var d = new Date();
document.write(d.getFullYear());

1.咬牙使用 ”YYYY/MM/DD” 的日期字符串格式
2.幸免选用带有连字号的日期字符串格式”YYYY-MM-DD”
3.要钦定几人数的年份
4.Chrome浏览器的比别的浏览器能接受更多的日子字符串,所以只要在Chrome浏览器没不不荒谬,不意味着任何浏览器没不通常

var dt = new Date(2016, 11); // 2015年10月(这里输入的月度数字为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(2015, 12, 25); //
二〇一六年十月21日(这里输入的月度数字为12,表示第1八个月,跳转到第二年的一月)
console.log(dt); // => {Date}:2015/01/25

输出:
2012

更加多音讯能够参照:JavaScript and Dates, What a
Mess!和
SO中的座谈

3. 属性

复制代码 代码如下:

get种类措施

无;Date对象对日期和岁月的操作只好通过措施。

var born = new Date(“July 21, 1983 01:15:00”);
document.write(“I was born in ” + born.getFullYear());

getDate() 从 Date 对象回来二个月底的某一天 (1 ~ 31)。
getDay() 从 Date 对象回来一周中的某一天 (0 ~ 6)。
getMonth() 从 Date 对象回来月份 (0 ~ 11)。
getFullYear() 从 Date 对象以肆人数字再次回到年份。注意不要选择getYear()。
getHours() 再次回到 Date 对象的小时 (0 ~ 23)。
getMinutes() 重临 Date 对象的分钟 (0 ~ 59)。
getSeconds() 再次来到 Date 对象的秒数 (0 ~ 59)。
getMilliseconds() 再次来到 Date 对象的皮秒(0 ~ 999)。
getTime() 重临 壹玖陆捌 年 1 月 1 日现今的皮秒数。
getTimezoneOffset() 重返本地时间与Green威治规范时间 (丙胺搏来霉素T) 的分钟差。
getUTCDate() 依照世界时从 Date 对象重临月首的一天 (1 ~ 31)。
getUTCDay() 依据世界时从 Date 对象回来周中的一天 (0 ~ 6)。
getUTCMonth() 根据世界时从 Date 对象回来月份 (0 ~ 11)。
getUTCFullYear() 依照世界时从 Date 对象回到几位数的年份。
getUTCHours() 依照世界时重临 Date 对象的钟点 (0 ~ 23)。
getUTCMinutes() 依照世界时重返 Date 对象的分钟 (0 ~ 59)。
getUTCSeconds() 根据世界时重临 Date 对象的分钟 (0 ~ 59)。
getUTCMilliseconds() 依据世界时再次回到 Date 对象的纳秒(0 ~ 999)。

4. 实例方法

输出:
1983

set种类措施

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

经过上述办法三种艺术结合我们就足以摄取相比较人性化的光阴突显,例:

setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。
setMonth() 设置 Date 对象中月份 (0 ~ 11)。
setFullYear() 设置 Date
对象中的年份(四个人数字)。注意不要选取setYear()方法。
setHours() 设置 Date 对象中的时辰 (0 ~ 23)。
setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。
setSeconds() 设置 Date 对象中的分钟 (0 ~ 59)。
set米尔iseconds() 设置 Date 对象中的皮秒 (0 ~ 999)。
set提姆e() 以阿秒设置 Date 对象。
setUTCDate() 依据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
setUTCMonth() 依照世界时设置 Date 对象中的月份 (0 ~ 11)。
setUTCFullYear() 依据世界时设置 Date 对象中的年份(几人数字)。
setUTCHours() 依照世界时设置 Date 对象中的时辰 (0 ~ 23)。
setUTCMinutes() 依照世界时设置 Date 对象中的分钟 (0 ~ 59)。
setUTCSeconds() 依据世界时设置 Date 对象中的分钟 (0 ~ 59)。
setUTCMilliseconds() 依据世界时设置 Date 对象中的皮秒 (0 ~ 999)。

4.1 get方法
4.1.1 getFullYear() :重回Date对象的年份值;4位年份。

复制代码 代码如下:

toString种类措施

4.1.2 getMonth() :重返Date对象的月度值。从0开始,所以真实月份=再次来到值+1

var weekday = new Array(7);
weekday[0]=”Sunday”
weekday[1]=”Monday”
weekday[2]=”Tuesday”
weekday[3]=”Wednesday”
weekday[4]=”Thursday”
weekday[5]=”Friday”
weekday[6]=”Saturday”
var month=new Array(12);
month[0]=”January”;
month[1]=”February”;
month[2]=”March”;
month[3]=”April”;
month[4]=”May”;
month[5]=”June”;
month[6]=”July”;
month[7]=”August”;
month[8]=”September”;
month[9]=”October”;
month[10]=”November”;
month[11]=”December”;
var myDate = new Date();
document.write(“Date is “+myDate.getFullYear()+”
“+month[myDate.getMonth()]+” “+myDate.getDate()+”
“+weekday[myDate.getDay()]);

toString() 把 Date
对象转变为字符串,toString()总是回到三个用中式德文表明的字符串。
toTimeString() 把 Date 对象的岁月有些更改为字符串。
toDateString() 把 Date 对象的日期部分改造为字符串。
toUTCString() 依据世界时,把 Date 对象转变为字符串。
toLocaleString() 总局面时间格式,把 Date 对象转变为字符串。
toLocaleTimeString() 总部方时间格式,把 Date
对象的时刻有个别更动为字符串。
toLocaleDateString() 依照本地时间格式,把 Date
对象的日子部分改变为字符串。

4.1.3 getDate() :重回Date对象的月度中的日期值;值的界定1~31 。

输出为:
Date is 2012 October 19 Friday

复制代码 代码如下:

4.1.4 getHours() :重回Date对象的时辰值。

7、getHours() 方法可重返时间的钟点字段,重临值是 0 (早上) 到 23
(深夜 11 点)之间的贰个卡尺头。

var d = new Date();

4.1.5 getMinutes() :重临Date对象的分钟值。

复制代码 代码如下:

console.log(d);                      //Tue Sep 17 二〇一一 13:37:04 青霉素T+0800
(中华人民共和国家规范准时间)
console.log(d.toString());           //Tue Sep 17 二〇一三 13:37:04 氯林可霉素T+0800
(中华夏族民共和国家标准准时间)
console.log(d.toTimeString());       //13:37:04 GMT+0800
(中夏族民共和国标准时间)
console.log(d.toDateString() );      //Tue Sep 17 2013
console.log(d.toUTCString());        //Tue, 17 Sep 2013 05:37:04 GMT
console.log(d.toLocaleString());     //2013年9月17日 下午1:37:04
console.log(d.toLocaleTimeString()); //下午1:37:04
console.log(d.toLocaleDateString()); //2013年9月17日

4.1.6 getSeconds() :再次回到Date对象的秒数值。

var born = new Date(“July 21, 1983 01:15:00”);
document.write(born.getHours());

留意toLocaleString()体系措施还行参数,来规定依照什么习于旧贯来输出,参照他事他说加以考察:MDN

4.1.7 getMilliseconds() :重返Date对象的阿秒值。

输出:1
申明:由 getHours() 重返的值是二个两位的数字。
可是重回值不一而再两位的,借使该值小于 10,则仅再次来到一人数字。

复制代码 代码如下:

4.1.8 getDay()
:再次来到Date对象的七日中的星期值;0为星期日,1为周一、2为周一,依此类推

8、getMinutes() 方法可重回时间的分钟字段,再次回到值是 0 ~ 59
之间的三个整数。

var d = new Date();

4.1.9 getTime() :重返Date对象与’一九六八/01/01
00:00:00’之间的皮秒值(香港(Hong Kong)时间的时区为东8区,源点时间实际上为:’一九七〇/01/01
08:00:00′) 。

与上述情势类似,再次回到值不三番五次两位的,假使该值小于 10,则仅再次回到壹人数字。

console.log(d.toLocaleString(“ko-KR”));  //2013년 9월 17일 오후
1:48:24

示例:

9、getSeconds() 方法可回到时间的秒,重回值是 0 ~ 59 之间的二个莫西干发型。

你恐怕感兴趣的文章:

  • 扩张JS
    Date对象时间格式化功效的小例子
  • JavaScript Date对象详解
  • 详解JavaScript对Date对象的操作难题(生成一个尾数7天的数组)
  • javascript转变日期字符串为Date日期对象的章程
  • 浅谈JavaScript中Date(日期对象),Math对象
  • 浅谈JavaScript
    Date日期和岁月对象
  • JavaScript
    中Date对象的格式化代码方法汇总

复制代码 代码如下:

与上述形式类似,重临值不一连两位的,假若该值小于 10,则仅重临一人数字。

dt.getFullYear(); // => 2014:年
dt.getMonth(); // => 11:月;实际为1月份(月份从0伊始测度)
dt.getDate(); // => 25:日
dt.getHours(); // => 15:时
dt.getMinutes(); // => 30:分
dt.getSeconds(); // => 40:秒
dt.getMilliseconds(); // => 333:毫秒
dt.getDay(); // => 4:星期几的值
dt.getTime(); // => 1419502640333 :再次回到Date对象与’壹玖陆玖/01/01
00:00:00’之间的微秒值(东京(Tokyo)时间的时区为东8区,起源时间莫过于为:’一九七零/01/01
08:00:00′)

10、getMilliseconds()
方法可再次回到时间的微秒,阿秒字段,以本土时间彰显。再次回到值是 0 ~ 999
之间的多个大背头。

4.2 set方法
4.2.1 setFullYear(year, opt_month, opt_date)
:设置Date对象的年份值;4位年份。

讲授:由 getMilliseconds()
重返的值是七个二人的数字。

4.2.2 setMonth(month, opt_date)
:设置Date对象的月份值。0意味着10月,11意味三月。

只是重临值不三番五次三个人的,即使该值小于 100,则仅再次回到两位数字,假诺该值小于
10,则仅再次回到一人数字。
上边大家有二种方法将时间彰显出来:
—>方式一

4.2.3 setDate(date) :设置Date对象的月份中的日期值;值的界定1~31 。

复制代码 代码如下:

4.2.4 setHours(hour, opt_min, opt_sec, opt_msec)
:设置Date对象的小时值。

var d = new Date();
document.write(‘Time is
‘+d.getHours()+”:”+d.getMinutes()+”:”+d.getSeconds());

4.2.5 setMinutes(min, opt_sec, opt_msec) :设置Date对象的分钟值。

出口:Time is
10:52:2,劣点很鲜明,在秒为<10的事态下只展现了一人,其余的也临近,因此推荐第三种展现格局

4.2.6 setSeconds(sec, opt_msec) :设置Date对象的秒数值。

—>方式二

4.2.7 set米尔iseconds(msec) :设置Date对象的阿秒值。

复制代码 代码如下:

示例:

function checktime(time)
{
    if(time<10)
    {
      time = ‘0’+time;
    }
    return time;
}
var d = new Date();
document.write(‘Time is
‘+checktime(d.getHours())+”:”+checktime(d.getMinutes())+”:”+checktime(d.getSeconds()));

复制代码 代码如下:

输出:Time is 10:55:02

var dt = new Date();
dt.setFullYear(2014); // => 2014:年
dt.setMonth(11); // => 11:月;实际为十二月份(月份从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毫秒

11、getTime() 方法可重回本地时间距 一九七〇 年 1 月 1
日里边的纳秒数,因而得以自定义Date(“Jul 26 3000”);

4.3 其余方法
4.3.1 toString() :将Date转变为二个’年月日 时分秒’字符串

复制代码 代码如下:

4.3.2 toLocaleString() :将Date转变为三个’年月日 时分秒’的地面格式字符串

var d = new Date();
document.write(d.getTime() + ” milliseconds since 1970/01/01″);

4.3.3 toDateString() :将Date转变为一个’年月日’字符串

输出:1350615452813 milliseconds since 1970/01/01

4.3.4 toLocaleDateString() :将Date转变为一个’年月日’的地面格式字符串

由此大家得以依照此数获得本地时间相差1966/01/01的年数

4.3.5 toTimeString() :将Date转换为四个’时分秒’字符串

复制代码 代码如下:

4.3.6 toLocaleTimeString() :将Date调换为多个’时分秒’的地点格式字符串

var minutes = 1000*60;//一分钟有60秒,一秒有60飞秒,上面依次类推
var hours = minutes*60;
var days = hours*24;
var years = days*365;
var d = new Date();
var t = d.getTime();//获得距离一九六八/01/01的阿秒数
var y = t/years;
document.write(“It’s been: ” + y + ” years since 1970/01/01!”);

4.3.7 valueOf() :与getTime()一样, 再次来到Date对象与’1966/01/01
00:00:00’之间的阿秒值(新加坡时间的时区为东8区,起点时间莫过于为:’一九七零/01/01
08:00:00′)

输出:
It’s been: 42.82773990521943 years since 1970/01/01!
注:此时的年度是多个小数,能够将其换到整数(其实Javascript中绝非整数的区分)

示例:

谈到底一行修改为:

复制代码 代码如下:

复制代码 代码如下:

var dt = new Date();
console.log(dt.toString()); // => Tue Dec 23 二〇一六 22:56:11 克林霉素T+0800
(中华夏族民共和国标准时间) :将Date转变为五个’年月日 时分秒’字符串
console.log(dt.toLocaleString()); // => 2015年七月11日 早上10:56:11 
:将Date调换为二个’年月日 时分秒’的本土格式字符串
console.log(dt.toDateString()); // => Tue Dec 23 二〇一五:将Date转变为贰个’年月日’字符串
console.log(dt.toLocaleDateString()); // => 二零一四年一月二日:将Date调换为一个’年月日’的本地格式字符串
console.log(dt.toTimeString()); // => 22:56:11 核糖霉素T+0800
(中华人民共和国家典型准时间) :将Date调换为三个’时分秒’字符串
console.log(dt.toLocaleTimeString()); // => 上午10:56:11
:将Date调换为贰个’时分秒’的地头格式字符串
console.log(dt.valueOf()); // => 重临Date对象与’壹玖陆陆/01/01
00:00:00’之间的微秒值(北京时间的时区为东8区,源点时间莫过于为:’壹玖柒零/01/01
08:00:00′)

document.write(“It’s been: ” + parseInt(y) + ” years since
1970/01/01!”);

5. 静态方法

输出:
It’s been: 42 years since 1970/01/01!
parseInt(float);能够将浮点类型调换为整型

5.1 Date.now()
表明:重返当前几天子和时间的Date对象与’一九七〇/01/01
00:00:00’之间的皮秒值(东京时间的时区为东8区,起源时间实际上为:’1969/01/01
08:00:00′)

12、getTimezoneOffset()
方法可回到格林威治时间和地面时间之间的时差,以分钟为单位。

参数:无

注:
getTimezoneOffset() 方法重回的是本地时间与 创新霉素T 时间或 UTC
时间里面相距的秒钟数。
骨子里,该函数告诉大家运维 JavaScript
代码的时区,以及钦赐的时光是还是不是是夏令时。
重返之所以以分钟计,实际不是以小时计,原因是少数国家所攻陷的时区乃至不到一个钟头的间距。

返回值:

复制代码 代码如下:

{int} :当前时光与开头时间之内的飞秒数。

var d = new Date();
document.write(d.getTimezoneOffset());

示例:

输出:
-480(东八区,8*60)

复制代码 代码如下:

据此能够依照此办法来剖断所在时区

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

复制代码 代码如下:

5.2 Date.parse(dateStr)
证实:把字符串调换为Date对象 ,然后重返此Date对象与’1968/01/01
00:00:00’之间的皮秒值(香岛时间的时区为东8区,源点时间实在为:’1967/01/01
08:00:00′)

function checkzone(zone)
{
    if (zone==0)
    {
        return “零时区”;
    }
    else if (zone>0)
    {
    return “西”+parseInt(zone/60)+”区”;
    }
    else
    {
    return “东”+parseInt(Math.abs(zone/60))+”区”;
    }
}
var d = new Date();
document.write(checkzone(d.getTimezoneOffset()));

参数:

里面Math.abs()为求相对值
上述办法是和睦原创,因为地教育学的不得了,不领悟对不对,求指正

①dateStr {string}
:可转移为Date对象的字符串(可粗略时间);字符串的格式首要有三种:

13、parse() 方法可深入分析叁个日期时间字符串,并重回 一九六九/1/1
早上偏离该日期时间的纳秒数。

1) yyyy/MM/dd HH:mm:ss (推荐):若省略时间,再次来到的Date对象的时刻为
00:00:00。

parse(str);str为字符串,是二个适合时间格式的字符串

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

复制代码 代码如下:

返回值:

var minutes = 1000 * 60;
var hours = minutes * 60;
var days = hours * 24;
var years = days * 365;
var t = Date.parse(“Jul 8, 2005”);
var y = t/years;
document.write(“It’s been: ” + parseInt(y) + ” years from
1970/01/01″);
document.write(” to 2005/07/08!”);

{int} 重回转变后的Date对象与开首时间之间的微秒数。

输出为:
It’s been: 35 years from 1970/01/01 to 2005/07/08!

示例:

14、setDate() 方法用于安装一个月的某一天。

复制代码 代码如下:

setDate(day),day必需。表示7个月首的一天的七个数值(1 ~ 31)。
注,此办法是在原来对象的基本功上进展改造,会改造原本数据的值
例:

console.log(Date.parse(‘2014/12/25 12:00:00’)); // => 1419480000000
console.log(Date.parse(‘二〇一五-12-25 12:00:00’)); // => 1419500000000 
(注意:此转换情势在IE中回到NaN!)

复制代码 代码如下:

6. 实际操作

var d = new Date();
document.write(d.getDate()+”<br>”);
d.setDate(31);
document.write(d.getDate());

6.1 C#的DateTime类型调换为Js的Date对象
说明:C#的DateTime类型通过Json种类化重临给前台的格式为:”\/Date(1419492640000)\/”
。中间的数字,表示DateTime的值与初步时间之间的皮秒数。

输出:
19
31

示例:

15、setMonth()
方法用于安装月份,与setDate()使用方法一向,也会变动原Date对象

后台代码:简单的ashx

setMonth(month,day),近日说不定不支持第二个参数,month必需。一个象孟春份的数值,该值介于
0(4月) ~ 11(十二月) 之间。
倘诺协助day参数的话,day代表的是月首某一天的数值,介于 1 ~ 31
之间。用本地时间表示。

复制代码 代码如下:

复制代码 代码如下:

public void ProcessRequest (HttpContext context) {
    System.Web.Script.Serialization.JavaScriptSerializer js = new
System.Web.Script.Serialization.JavaScriptSerializer();
    DateTime dt = DateTime.Parse(“2014-12-25 15:30:40”);
    string rs = js.Serialize(dt); // 种类化成Json
    context.Response.ContentType = “text/plain”;
    context.Response.Write(rs);
}

var d = new Date();
document.write(d.getMonth()+” “+d.getDate()+”<br>”);
d.setMonth(11,26);
document.write(d.getMonth()+” “+d.getDate());

前台代码:

输出为:
9 19
11 26

复制代码 代码如下:

16、setFullYear() 方法用于安装年度。

var dateTimeJsonStr = ‘\/Date(1419492640000)\/’; // C#
DateTime类型转变的Json格式
var msecStr =
dateTimeJsonStr.toString().replace(/\/Date\(([-]?\d+)\)\//gi,
“$1”); // => ’14一九四六26陆仟0′ :通过正则替换,获取皮秒字符串
var msesInt = Number.parseInt(msecStr); // 皮秒字符串转换来数值
var dt = new Date(msesInt); // 初始化Date对象
console.log(dt.toLocaleString()); // => 2014年12月25日 下午3:30:40

setFullYear(year,month,day);
year 必需。表示年份的多个人整数。用本地时间代表。
month 可选。表示月份的数值,介于 0 ~ 11 之间。用地点时间表示。
day 可选。表示月首某一天的数值,介于 1 ~ 31 之间。用本地时间表示。

6.2  获取倒计时
表明:计算当前时间离指标时间相差多少天时分。

复制代码 代码如下:

示例:

var d = new Date();
d.setFullYear(1992,10,3);
document.write(d);

复制代码 代码如下:

输出为:
Tue Nov 03 1992 11:31:58 GMT+0800

/**
* 再次来到倒计时
* @param dt {Date}:目的Date对象
* @return {Strin} :重回倒计时:X天X时X分
*/
function getDownTime(dt) {
    // 1.赢得倒计时
    var intervalMsec = dt – Date.now(); //
目标时间减去未来的光阴,获取两岸相差的飞秒数
    var intervalSec = intervalMsec / 一千; // 调换到秒数
    var day = parseInt(intervalSec / 3600 / 24); // 天数
    var hour = parseInt((intervalSec – day * 24 * 3600) / 3600); //
小时
    var min = parseInt((intervalSec – day * 24 * 3600 – hour * 3600)
/ 60); // 分钟
 
    // 2.若相差的阿秒小于0
,表示指标时间低于当前时光,那时的取的值都以负的:-X天-时-分,呈现时,只呈现天数后面为负的就行。
    if (intervalMsec < 0) {
        hour = 0 – hour;
        min = 0 – min;
    }
 
    // 3.拼接字符串并赶回
    var rs = day + ‘天’ + hour + ‘时’ + min + ‘分’;
    return rs;
}
 
// 当前时光:二零一六/12/28 13:26
console.log(getDownTime(new Date(‘2015/06/01’))); // =>
154天10时33分
console.log(getDownTime(new Date(‘2014/01/01’))); // =>
-361天13时26分

17、setHours() 方法用于安装钦点的光阴的钟点字段。

6.3 相比较2个Date对象的分寸
表达:能够对照2者的与起先时间的纳秒数,来分歧轻重缓急。

setHours(hour,min,sec,millisec);
hour 必需。表示时辰的数值,介于 0(早上) ~ 23(早晨11点)
之间,以本地时间计(下同)。
min 可选。表示分钟的数值,介于 0 ~ 59 之间。在 EMCAScript
规范化在此之前,不援救该参数。
sec 可选。表示秒的数值,介于 0 ~ 59 之间。在 EMCAScript
典型化此前,不帮忙该参数。
millisec 可选。表示飞秒的数值,介于 0 ~ 999之间。在 EMCAScript
标准化从前,不帮忙该参数。

示例:

复制代码 代码如下:

复制代码 代码如下:

var d = new Date()
d.setHours(15,35,1)
document.write(d)

var dt1 = new Date(‘2015/12/01’);
var dt2 = new Date(‘2015/12/25’);
console.log(dt1 > dt2); // => false

输出为:
Fri Oct 19 15:35:01 UTC+0800 2012

你大概感兴趣的文章:

  • 扩充JS
    Date对象时间格式化作用的小例子
  • JavaScript Date对象详解
  • 详解JavaScript对Date对象的操作难点(生成三个尾数7天的数组)
  • JavaScript原生对象之Date对象的习性和方法详解
  • javascript调换日期字符串为Date日期对象的办法
  • 浅谈JavaScript中Date(日期对象),Math对象
  • JavaScript
    中Date对象的格式化代码方法汇总

18、setMinutes() 方法用于安装钦赐时期的分钟字段。

setMinutes(min,sec,millisec)
min 必需。表示分钟的数值,介于 0 ~ 59 之间,以本地时间计(下同)。
sec 可选。表示秒的数值,介于 0 ~ 59 之间。在 EMCAScript
标准化在此之前,不帮助该参数。
millisec 可选。表示皮秒的数值,介于 0 ~ 999 之间。在 EMCAScript
标准化此前,不协理该参数。

复制代码 代码如下:

var d = new Date()
d.setMinutes(1)
document.write(d)

输出为:
Fri Oct 19 11:01:11 UTC+0800 2012

19、setSeconds() 方法用于安装钦命时期的秒字段。

setSeconds(sec,millisec)
sec 必需。表示秒的数值,该值是在乎 0 ~ 59 之间的子弹头。
millisec 可选。表示阿秒的数值,介于 0 ~ 999 之间。在 EMCAScript
标准化在此之前,不支持该参数。

20、setMilliseconds() 方法用于安装钦命期间的纳秒字段。

setMilliseconds(millisec)
millisec 必需。用于安装 dateObject 皮秒字段,该参数是介于 0 ~ 999
之间的子弹头。

21、setTime() 方法以飞秒设置 Date 对象。

此方法是相比常用的不二等秘书诀,在数据库中存放Date.getTime()微秒数,
在再次回到时怎么样显示出来吧,正是用此措施
setTime(millisec)
millisec 必需。要安装的日期和岁月据 克林霉素T 时间 一九九九 年 1 月 1
日子夜里边的微秒数。
这种类型的阿秒值能够传递给 Date() 构造函数,能够因而调用 Date.UTC() 和
Date.parse() 方法获得该值。以飞秒方式表示日期能够使它独立于时区。

复制代码 代码如下:

var d = new Date();
d.setTime(77771564221);
document.write(d);

输出为:
Mon Jun 19 1972 11:12:44 GMT+0800
此种方法就足以凭借数据库中存放的long数据类型将其更动为了时刻对象

22、to提姆eString() 方法可把 Date
对象的小时部分改换为字符串,并再次回到结果。

复制代码 代码如下:

var d = new Date();
document.write(d.toTimeString());

输出:
11:50:57 GMT+0800

23、toDateString() 方法可把 Date
对象的日子部分更改为字符串,并回到结果。

复制代码 代码如下:

var d = new Date();
document.write(d.toDateString());

输出:
Fri Oct 19 2012

24、还或许有为数非常多统筹UTC时区的片段办法,此处未有列出,仅仅是对一般的通用相当多的点子汇总了下

查阅越来越多JavaScript的语法,大家能够关注:《JavaScript
参谋教程》、《JavaScript代码风格指南》,也期望我们多多帮衬脚本之家。

您或然感兴趣的稿子:

  • JavaScript Date对象详解
  • javascript中Date对象的运用计算
  • JavaScript
    Date对象使用计算
  • javascript中Date对象应用之差十分少日历实现
  • 原生JS:Date对象周详剖判
  • javascript
    玩转Date对象(实例批注)

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website