网站建设知识

我们将想法与焦点与您一起共享

当前位置:深圳网站建设 > 网站建设知识> 深圳网站建设|JavaScript 时间与日期处理(lǐ)实战:你肯定被坑过

深圳网站建设|JavaScript 时间与日期处理(lǐ)实战:你肯定被坑过

2017-6-5 17:33:28 独占网络 网站建设知识


标准时间

GMT即「格林威治标准时间」(Greenwich Mean Time,简称G.M.T.),指位于英國(guó)伦敦郊區(qū)的皇家格林威治天文(wén)台的标准时间,因為(wèi)本初子午線(xiàn)被定义為(wèi)通过那里的经線(xiàn)。然而由于地球的不规则自转,导致GMT时间有(yǒu)误差,因此目前已不被当作(zuò)标准时间使用(yòng)。UTC是主要的世界时间标准,是经过平均太阳时(以格林威治时间GMT為(wèi)准)、地轴运动修正后的新(xīn)时标以及以「秒(miǎo)」為(wèi)单位的國(guó)际原子时所综合精(jīng)算而成的时间。UTC比GMT来得更加精(jīng)准。其误差值必须保持在0.9秒(miǎo)以内,若大于0.9秒(miǎo)则由位于巴黎的國(guó)际地球自转事務(wù)中(zhōng)央局发布闰秒(miǎo),使UTC与地球自转周期一致。不过日常使用(yòng)中(zhōng),GMT与UTC的功能(néng)与度是没有(yǒu)差别的。协调世界时區(qū)会使用(yòng)“Z”来表示。而在航空上,所有(yǒu)使用(yòng)的时间划一规定是协调世界时。而且Z在无線(xiàn)電(diàn)中(zhōng)应读作(zuò)“Zulu”(可(kě)参见北约音标字母),协调世界时也会被称為(wèi)“Zulu time”。

TimeZone&UTC Offsets:时區(qū)与偏移

人们经常会把时區(qū)与UTC偏移量搞混,UTC偏移量代表了某个具(jù)體(tǐ)的时间值与UTC时间之间的差异,通常用(yòng)HH:mm形式表述。而TimeZone则表示某个地理(lǐ)區(qū)域,某个TimeZone中(zhōng)往往会包含多(duō)个偏移量,而多(duō)个时區(qū)可(kě)能(néng)在一年的某些时间有(yǒu)相同的偏移量。譬如America/Chicago, America/Denver, 以及 America/Belize在一年中(zhōng)不同的时间都会包含 -06:00 这个偏移。

时间戳

Unix时间戳表示当前时间到1970年1月1日00:00:00 UTC对应的秒(miǎo)数。注意,JavaScript内的时间戳指的是当前时间到1970年1月1日00:00:00 UTC对应的毫秒(miǎo)数,和unix时间戳不是一个概念,后者表示秒(miǎo)数,差了1000倍。

时间数字字符串格式

RFC2822

JavaScript

YYYY/MM/DD HH:MM:SS ± timezone(时區(qū)用(yòng)4位数字表示)
// eg 1992/02/12 12:23:22+0800
 
ISO 8601

國(guó)际标准化组织的國(guó)际标准ISO 8601是日期和时间的表示方法,全称為(wèi)《数据存储和交换形式·信息交换·日期和时间的表示方法》。目前新(xīn)為(wèi)第三版ISO8601:2004,版為(wèi)ISO8601:1988,第二版為(wèi)ISO8601:2000。年由4位数组成,以公(gōng)历公(gōng)元1年為(wèi)0001年,以公(gōng)元前1年為(wèi)0000年,公(gōng)元前2年為(wèi)-0001年,其他(tā)以此类推。应用(yòng)其他(tā)纪年法要换算成公(gōng)历,但如果发送和接受信息的双方有(yǒu)共同一致同意的其他(tā)纪年法,可(kě)以自行应用(yòng)。

JavaScript

YYYY-MM-DDThh:mm:ss ± timezone(时區(qū)用(yòng)HH:MM表示)
1997-07-16T08:20:30Z
// “Z”表示UTC标准时區(qū),即"00:00",所以这里表示零时區(qū)的`1997年7月16日08时20分(fēn)30秒(miǎo)`
//转换成位于东八區(qū)的北京时间则為(wèi)`1997年7月17日16时20分(fēn)30秒(miǎo)`
1997-07-16T19:20:30+01:00
// 表示东一區(qū)的1997年7月16日19时20秒(miǎo)30分(fēn),转换成UTC标准时间的话是1997-07-16T18:20:30Z
 
Reference

JS原生Date类型方法的一些冷知识
阮一峰 JavaScript标准参考教程 Date对象
Date

JavaScript為(wèi)我们提供了不是很(hěn)好用(yòng)的Date对象作(zuò)為(wèi)时间日期对象,Date()直接返回当前时间字符串,不管参数是number还是任何string。而new Date()则是会根据参数来返回对应的值,无参数的时候,返回当前时间的字符串形式;有(yǒu)参数的时候返回参数所对应时间的字符串。new Date()对参数不管是格式还是内容都要求,且只返回字符串,标准的构造Date对象的方法有(yǒu):

JavaScript

// 不带new操作(zuò)符,像一个函数一样调用(yòng)。它将忽略所有(yǒu)传入的参数,并返回当前日期和时间的一个字符串表示。
new Date();
// 可(kě)接受一个数字参数,该参数表示设定时间与1970年1月1日0点之间的毫秒(miǎo)数。
new Date(value);
// 可(kě)接受一个字符串参数,参数形式类似于Date.parse()方法。但parse()方法返回的是一个数字,而Date()函数返回的是一个对象。
new Date(dateString);
// 可(kě)接受参数形式类似于Date.UTC()方法的参数,但Date.UTC()方法返回是一个毫秒(miǎo)数,且是UTC时间,而Date()函数返回是一个对象,且是本地时间。
new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);
---------------------------------------------------------------------------------------------------------------------
year:四位年份,如果写成两位数,则加上1900
month:表示月份,0表示一月,11表示12月
date:表示日期,1到31
hour:表示小(xiǎo)时,0到23
minute:表示分(fēn)钟,0到59
second:表示秒(miǎo)钟,0到59
ms:表示毫秒(miǎo),0到999 
这里需要注意的是,月份month参数,其计数方式从0开始,而天day参数,其计数方式从1开始。

JavaScript

new Date();
//Fri Aug 21 2015 15:51:55 GMT+0800 (中(zhōng)國(guó)标准时间)
new Date(1293879600000);
new Date('2011-01-01T11:00:00')
new Date('2011/01/01 11:00:00')
new Date(2011,0,1,11,0,0)
new Date('jan 01 2011,11 11:00:00')
new Date('Sat Jan 01 2011 11:00:00')
//Sat Jan 01 2011 11:00:00 GMT+0800 (中(zhōng)國(guó)标准时间)
new Date('sss');
new Date('2011/01/01T11:00:00');
new Date('2011-01-01-11:00:00')
new Date('1293879600000');
//Invalid Date
new Date('2011-01-01T11:00:00')-new Date('1992/02/11 12:00:12')
//596069988000 
Parse:解析

TimeStamp:时间戳

如果需要从当前的时间对象获取其相应的时间戳,我们可(kě)以使用(yòng)getTime或者valueOf(),返回距离1970年1月1日0点的毫秒(miǎo)数:

JavaScript

var date1 = new Date(2007,0,1);
var date2 = new Date(2007,1,1);
console.log(date1 > date2);//false
console.log(date1 < date2);//true
// ECMAScript5新(xīn)增了now()方法,该方法返回当前时间距离1970年1月1日0点UTC的毫秒(miǎo)数。该方法不支持传递参数
Date.now = function(){
    return (new Date()).getTime() 
// ECMAScript5新(xīn)增了now()方法,该方法返回当前时间距离1970年1月1日0点UTC的毫秒(miǎo)数。该方法不支持传递参数
Date.now = function(){
    return (new Date()).getTime()
}
另外Date对象还有(yǒu)一个静态方法同样返回给定日期的毫秒(miǎo)数。但其参数并不是一个字符串,而是分(fēn)别代表年、月、日、时、分(fēn)、秒(miǎo)、毫秒(miǎo)的数字参数:

JavaScript

console.log(Date.UTC(1970));//NaN
console.log(Date.UTC(1970,0));//0
console.log(Date.UTC(1970,0,2));//86400000
console.log(Date.UTC(1970,0,1,1));//3600000
console.log(Date.UTC(1970,0,1,1,59));//714000
console.log(Date.UTC(1970,0,1,1,59,30));//717000 
还是需要强调下,JavaScript内的时间戳指的是当前时间到1970年1月1日00:00:00 UTC对应的毫秒(miǎo)数,和unix时间戳不是一个概念,后者表示秒(miǎo)数,差了1000倍。new Date(timestamp)中(zhōng)的时间戳必须是number格式,string会返回Invalid Date。所以比如new Date('11111111')这种写法是错的。

DateTimeString:时间日期字符串

JavaScript原生Date对于时间字符串的解析真的是槽点满满,假设我们希望以DD/MM/YYYY的格式进行解析,那么它是无法识别的:

JavaScript

var a = new Date('01/12/2016'); //December 1 2016 in DD/MM/YYYY format
//"Tue Jan 12 2016 00:00:00 GMT-0600 (Central Standard Time)"
1
2
var a = new Date('01/12/2016'); //December 1 2016 in DD/MM/YYYY format
//"Tue Jan 12 2016 00:00:00 GMT-0600 (Central Standard Time)"
另外,在ES5的标准中(zhōng),其对ISO 8601标准的字符串进行了一个神奇的断言:所有(yǒu)没有(yǒu)提供时區(qū)的字符串默认為(wèi)标准时區(qū)。换言之,你会发现你解析出来的时间和你预期中(zhōng)的不一样,而且它打印的时候是按照本地时區(qū)又(yòu)进行了转换:

JavaScript

//US local format
var a = new Date('1/1/2016'); 
//"Fri Jan 01 2016 00:00:00 GMT-0600 (Central Standard Time)"

//ISO 8601
var a = new Date('2016-01-01');
//"Thu Dec 31 2015 18:00:00 GMT-0600 (Central Standard Time)" 
ES 2015标准中(zhōng)则是修复了该Bug,不过还是会让人觉得头大,毕竟你不知道你代码的终运行环境会是ES5还是ES6。Date对象也有(yǒu)一个parse方法,用(yòng)于解析一个日期字符串,参数是一个包含待解析的日期和时间的字符串,返回从1970年1月1日0点到给定日期的毫秒(miǎo)数。该方法会根据日期时间字符串格式规则来解析字符串的格式,除了标准格式外,以下格式也支持。如果字符串无法识别,将返回NaN。

‘月/日/年’ 如6/13/2004
‘月 日,年’ 如January 12,2004或Jan 12,2004
‘星期 月 日 年 时:分(fēn):秒(miǎo) 时區(qū)’ Tue May 25 2004 00:00:00 GMT-0700
JavaScript

console.log(Date.parse('6/13/2004'));//1087056000000
console.log(Date.parse('January 12,2004'));//1073836800000
console.log(Date.parse('Tue May 25 2004 00:00:00 GMT-0700'));//1085468400000
console.log(Date.parse('2004-05-25T00:00:00'));//1085443200000
console.log(Date.parse('2016'));//1451606400000
console.log(Date.parse('T00:00:00'));//NaN
console.log(Date.parse());//NaN 
在ECMAScript5中(zhōng),如果使用(yòng)标准的日期时间字符串格式规则的字符串中(zhōng),数學(xué)前有(yǒu)前置0,则会解析為(wèi)UTC时间,时间没有(yǒu)前置0,则会解析為(wèi)本地时间。其他(tā)情况一般都会解析為(wèi)本地时间

JavaScript

console.log(Date.parse('7/12/2016'));//1468252800000
console.log(Date.parse('2016-7-12'));//1468252800000
console.log(Date.parse('2016-07-12'));//1468281600000 
Manipulate:时间对象操作(zuò)

Get&Set

Date对象提供了一系列get*方法,用(yòng)来获取实例对象某个方面的值。具(jù)體(tǐ)的Get函数列表详见附录:

JavaScript

var d = new Date('January 6, 2013');

d.getDate() // 6
d.getMonth() // 0
d.getYear() // 113
d.getFullYear() // 2013
d.getTimezoneOffset() // -480 
同样的,Date对象还提供了一系列的Set方法:

JavaScript

var d1 = new Date('January 6, 2013');

d1.setDate(32) // 1359648000000
d1 // Fri Feb 01 2013 00:00:00 GMT+0800 (CST)

var d2 = new Date ('January 6, 2013');

d.setDate(-1) // 1356796800000
d // Sun Dec 30 2012 00:00:00 GMT+0800 (CST) 

我们可(kě)以巧用(yòng)Set方法的特性,set*方法的参数都会自动折算。以setDate為(wèi)例,如果参数超过当月的大天数,则向下一个月顺延,如果参数是负数,表示从上个月的后一天开始减去的天数。

JavaScript

var d1 = new Date('January 6, 2013');

d1.setDate(32) // 1359648000000
d1 // Fri Feb 01 2013 00:00:00 GMT+0800 (CST)

var d2 = new Date ('January 6, 2013');

d.setDate(-1) // 1356796800000
d // Sun Dec 30 2012 00:00:00 GMT+0800 (CST)

var d = new Date();

// 将日期向后推1000天
d.setDate( d.getDate() + 1000 );

// 将时间设為(wèi)6小(xiǎo)时后
d.setHours(d.getHours() + 6);

// 将年份设為(wèi)去年
d.setFullYear(d.getFullYear() - 1); 

类型转换时,Date对象的实例如果转為(wèi)数值,则等于对应的毫秒(miǎo)数;如果转為(wèi)字符串,则等于对应的日期字符串。所以,两个日期对象进行减法运算,返回的就是它们间隔的毫秒(miǎo)数;进行加法运算,返回的就是连接后的两个字符串。

JavaScript

var d1 = new Date(2000, 2, 1);

var d2 = new Date(2000, 3, 1);

d2 - d1
// 2678400000
d2 + d1
// "Sat Apr 01 2000 00:00:00 GMT+0800 (CST)Wed Mar 01 2000 00:00:00 GMT+0800 (CST)"
 
Display:时间展示

Format:格式化

Date对象提供了一系列的to*方法来支持从Date对象转化為(wèi)字符串,具(jù)體(tǐ)的函数列表详见附录:

JavaScript

var d = new Date(2013, 0, 1);

d.toString()
// "Tue Jan 01 2013 00:00:00 GMT+0800 (CST)"

d.toUTCString()
// "Mon, 31 Dec 2012 16:00:00 GMT"

d.toISOString()
// "2012-12-31T16:00:00.000Z"

d.toJSON()
// "2012-12-31T16:00:00.000Z"

d.toDateString() // "Tue Jan 01 2013"

d.toTimeString() // "00:00:00 GMT+0800 (CST)"

d.toLocaleDateString()
// 中(zhōng)文(wén)版浏览器為(wèi)"2013年1月1日"
// 英文(wén)版浏览器為(wèi)"1/1/2013"

d.toLocaleTimeString()
// 中(zhōng)文(wén)版浏览器為(wèi)"上午12:00:00" 
Durations:时長(cháng)

JavaScript

const nMS = 1320; //以毫秒(miǎo)单位表示的差值时间
var nD = Math.floor(nMS/(1000 * 60 * 60 * 24));
var nH = Math.floor(nMS/(1000*60*60)) % 24;
var nM = Math.floor(nMS/(1000*60)) % 60;
var nS = Math.floor(nMS/1000) % 60; 
i18n:國(guó)际化

浏览器获取当前用(yòng)户所在的时區(qū)等信息只和系统的日期和时间设置里的时區(qū)以及时间有(yǒu)关。區(qū)域和语言设置影响的是浏览器默认时间函数(Date.prototype.toLocaleString等)显示的格式,不会对时區(qū)等有(yǒu)影响。Date有(yǒu)个Date.prototype.toLocaleString()方法可(kě)以将时间字符串返回用(yòng)户本地字符串格式,这个方法还有(yǒu)两个子方法Date.prototype.toLocaleDateString和Date.prototype.toLocaleTimeString,这两个方法返回值分(fēn)别表示日期和时间,加一起就是Date.prototype.toLocaleString的结果。这个方法的默认参数会对时间字符串做一次转换,将其转换成用(yòng)户当前所在时區(qū)的时间,并按照对应的系统设置时间格式返回字符串结果。然而不同浏览器对用(yòng)户本地所使用(yòng)的语言格式的判断依据是不同的。

IE:获取系统当前的區(qū)域和语言-格式中(zhōng)设置的格式,依照其对应的格式来显示当前时间结果;IE浏览器实时查询该系统设置(即你在浏览器窗口打开后去更改系统设置也会引起返回格式变化)。假设系统语言為(wèi) ja-JP,系统unicode语言為(wèi)zh-CN日期格式為(wèi)nl-NL,浏览器语言设置(accept-language)為(wèi)de,浏览器界面语言為(wèi)en-US(其他(tā)条件不变,浏览器界面语言改為(wèi)zh-CN的时候结果也是一样),
JavaScript

window.navigator.language
//"nl-NL"
window.navigator.systemLanguage
//"zh-CN"(设置中(zhōng)的非unicode程序所使用(yòng)语言选项)
window.navigator.userLanguage
//"nl-NL"
window.navigator.browserLanguage
//"ja-JP"(系统菜单界面语言)
window.navigator.languages
//undefined 
FF:获取方式和结果与IE浏览器相同,區(qū)别在于FF只会在浏览器进程次启动的时候获取一次系统设置,中(zhōng)间不管怎么系统设置怎么变化,FF都无法获取到当前系统设置。除非重启FF浏览器。当浏览器界面语言為(wèi)zh-CN,accept-language位為(wèi)en-US的时候:
JavaScript

window.navigator.language
//'en-US'
window.navigator.languages
//["en-US", "zh-CN", "de", "zh", "en"]
//当界面语言改為(wèi)"en-US",`accept-language`位為(wèi)`zh-CN`的时候
window.navigator.language
//'zh-CN'(`accept-language`选值)
window.navigator.languages
//["zh-CN", "de", "zh", "en-US", "en"]
 
Chrome:获取方式和以上两个都不同。chrome无视系统的區(qū)域和语言-格式格式,只依照自己浏览器的界面设置的菜单语言来处理(lǐ)。(比如英文(wén)界面则按系统’en-US’格式返回字符串,中(zhōng)文(wén)界面则按系统’zh-CN’格式返回结果)。当浏览器界面语言為(wèi)zh-CN,accept-language位為(wèi)en-US的时候:
JavaScript

window.navigator.language
//'zh-CN'
window.navigator.languages
//["en-US", "en", "zh-CN", "zh", "ja", "zh-TW", "de-LI", "de", "pl"]
//当界面语言改為(wèi)"en-US"时
window.navigator.language
//'en-US'(浏览器界面语言)
 
//'en-US'(浏览器界面语言)
Calendar:日历操作(zuò)

Moment.js 
Moment.js為(wèi)JavaScript Date对象提供了封装(zhuāng)与统一好的API接口,并且提供了更多(duō)的功能(néng)。先需要了解的是,Moment提供的moment对象是可(kě)变的,即当我们对该对象执行类似于增减或者设置的时候,其对象本身的值会发生变化,譬如下面这段代码:

JavaScript

var a = moment('2016-01-01'); 
var b = a.add(1, 'week'); 
a.format();
"2016-01-08T00:00:00-06:00"
 
而如果我们不希望改变原有(yǒu)的值,特别是在需要创建多(duō)个时间日期对象的时候,我们可(kě)以利用(yòng)clone方法:

JavaScript

var a = moment('2016-01-01'); 
var b = a.clone().add(1, 'week'); 
a.format();
"2016-01-01T00:00:00-06:00"
  
筆(bǐ)者是习惯在Webpack中(zhōng)进行打包,类似于Node下的安(ān)装(zhuāng)方式:

JavaScript

//安(ān)装(zhuāng)
npm install moment
//使用(yòng)
var moment = require('moment');
moment().format();
 
如果你需要引入某个语言包,那么可(kě)以用(yòng)如下方式:

JavaScript

var moment = require('moment');
require('moment/locale/cs');
console.log(moment.locale()); // cs
 

TimeStamp

JavaScript

//毫秒(miǎo)
var day = moment(1318781876406);
//秒(miǎo)
var day = moment.unix(1318781876);
 

JavaScript

moment("2010-10-20 4:30",       "YYYY-MM-DD HH:mm");   // parsed as 4:30 local time
moment("2010-10-20 4:30 +0000", "YYYY-MM-DD HH:mm Z"); // parsed as 4:30 UTC

moment("2010 13",           "YYYY MM").isValid();     // false (not a real month)
moment("2010 11 31",        "YYYY MM DD").isValid();  // false (not a real day)
moment("2010 2 29",         "YYYY MM DD").isValid();  // false (not a leap year)
moment("2010 notamonth 29", "YYYY MMM DD").isValid(); // false (not a real month name) 
Manipulate

Get/Set

JavaScript

moment().seconds(30) === new Date().setSeconds(30);
moment().seconds()   === new Date().getSeconds();

moment().get('year');
moment().get('month');  // 0 to 11
moment().get('date');
moment().get('hour');
moment().get('minute');
moment().get('second');
moment().get('millisecond'); 
JavaScript

moment().set('year', 2013);
moment().set('month', 3);  // April
moment().set('date', 1);
moment().set('hour', 13);
moment().set('minute', 20);
moment().set('second', 30);
moment().set('millisecond', 123);

moment().set({'year': 2013, 'month': 3}); 
Add&Subtract

JavaScript

moment().add(Number, String);
moment().add(Duration);
moment().add(Object);

moment().add(7, 'days');

moment().subtract(Number, String);
moment().subtract(Duration);
moment().subtract(Object);

moment().subtract(7, 'days'); 
Comparison

JavaScript

moment().isBefore(Moment|String|Number|Date|Array);
moment().isBefore(Moment|String|Number|Date|Array, String);

moment('2010-10-20').isBefore('2010-12-31', 'year'); // false
moment('2010-10-20').isBefore('2011-01-01', 'year'); // true
 
Diff

JavaScript

moment().diff(Moment|String|Number|Date|Array);
moment().diff(Moment|String|Number|Date|Array, String);
moment().diff(Moment|String|Number|Date|Array, String, Boolean);

var a = moment([2007, 0, 29]);
var b = moment([2007, 0, 28]);
a.diff(b, 'days') // 1
 
Display

Format

JavaScript

moment().format();                                // "2014-09-08T08:02:17-05:00" (ISO 8601)
moment().format("dddd, MMMM Do YYYY, h:mm:ss a"); // "Sunday, February 14th 2010, 3:25:50 pm"
moment().format("ddd, hA");                       // "Sun, 3PM"
moment('gibberish').format('YYYY MM DD');         // "Invalid date"
 

JavaScript

moment([2007, 0, 29]).fromNow();     // 4 years ago
moment([2007, 0, 29]).fromNow(true); // 4 years
 
Duration

JavaScript

moment.duration(1, "minutes").humanize(); // a minute
moment.duration(2, "minutes").humanize(); // 2 minutes
moment.duration(24, "hours").humanize();  // a day
 
i18n

附录

Date APIs

Date 对象用(yòng)于处理(lǐ)日期和时间。其核心的方法如下列表所示:

方法 描述
Date() 返回当日的日期和时间。
getDate() 从 Date 对象返回一个月中(zhōng)的某一天 (1 ~ 31)。
getDay() 从 Date 对象返回一周中(zhōng)的某一天 (0 ~ 6)。
getMonth() 从 Date 对象返回月份 (0 ~ 11)。
getFullYear() 从 Date 对象以四位数字返回年份。
getYear() 请使用(yòng) getFullYear() 方法代替。
getHours() 返回 Date 对象的小(xiǎo)时 (0 ~ 23)。
getMinutes() 返回 Date 对象的分(fēn)钟 (0 ~ 59)。
getSeconds() 返回 Date 对象的秒(miǎo)数 (0 ~ 59)。
getMilliseconds() 返回 Date 对象的毫秒(miǎo)(0 ~ 999)。
getTime() 返回 1970 年 1 月 1 日至今的毫秒(miǎo)数。
getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分(fēn)钟差。
getUTCDate() 根据世界时从 Date 对象返回月中(zhōng)的一天 (1 ~ 31)。
getUTCDay() 根据世界时从 Date 对象返回周中(zhōng)的一天 (0 ~ 6)。
getUTCMonth() 根据世界时从 Date 对象返回月份 (0 ~ 11)。
getUTCFullYear() 根据世界时从 Date 对象返回四位数的年份。
getUTCHours() 根据世界时返回 Date 对象的小(xiǎo)时 (0 ~ 23)。
getUTCMinutes() 根据世界时返回 Date 对象的分(fēn)钟 (0 ~ 59)。
getUTCSeconds() 根据世界时返回 Date 对象的秒(miǎo)钟 (0 ~ 59)。
getUTCMilliseconds() 根据世界时返回 Date 对象的毫秒(miǎo)(0 ~ 999)。
parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒(miǎo)数。
setDate() 设置 Date 对象中(zhōng)月的某一天 (1 ~ 31)。
setMonth() 设置 Date 对象中(zhōng)月份 (0 ~ 11)。
setFullYear() 设置 Date 对象中(zhōng)的年份(四位数字)。
setYear() 请使用(yòng) setFullYear() 方法代替。
setHours() 设置 Date 对象中(zhōng)的小(xiǎo)时 (0 ~ 23)。
setMinutes() 设置 Date 对象中(zhōng)的分(fēn)钟 (0 ~ 59)。
setSeconds() 设置 Date 对象中(zhōng)的秒(miǎo)钟 (0 ~ 59)。
setMilliseconds() 设置 Date 对象中(zhōng)的毫秒(miǎo) (0 ~ 999)。
setTime() 以毫秒(miǎo)设置 Date 对象。
setUTCDate() 根据世界时设置 Date 对象中(zhōng)月份的一天 (1 ~ 31)。
setUTCMonth() 根据世界时设置 Date 对象中(zhōng)的月份 (0 ~ 11)。
setUTCFullYear() 根据世界时设置 Date 对象中(zhōng)的年份(四位数字)。
setUTCHours() 根据世界时设置 Date 对象中(zhōng)的小(xiǎo)时 (0 ~ 23)。
setUTCMinutes() 根据世界时设置 Date 对象中(zhōng)的分(fēn)钟 (0 ~ 59)。
setUTCSeconds() 根据世界时设置 Date 对象中(zhōng)的秒(miǎo)钟 (0 ~ 59)。
setUTCMilliseconds() 根据世界时设置 Date 对象中(zhōng)的毫秒(miǎo) (0 ~ 999)。
toSource() 返回该对象的源代码。
toString() 把 Date 对象转换為(wèi)字符串。
toTimeString() 把 Date 对象的时间部分(fēn)转换為(wèi)字符串。
toDateString() 把 Date 对象的日期部分(fēn)转换為(wèi)字符串。
toGMTString() 请使用(yòng) toUTCString() 方法代替。
toUTCString() 根据世界时,把 Date 对象转换為(wèi)字符串。
toLocaleString() 根据本地时间格式,把 Date 对象转换為(wèi)字符串。
toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分(fēn)转换為(wèi)字符串。
toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分(fēn)转换為(wèi)字符串。
UTC() 根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒(miǎo)数。
valueOf() 返回 Date 对象的原始值。
时间日期格式参数

(1)年月日

Input Example Description
YYYY 2014 4 or 2 digit year
YY 14 2 digit year
Y -25 Year with any number of digits and sign
Q 1..4 Quarter of year. Sets month to first month in quarter.
M MM 1..12 Month number
MMM MMMM Jan..December Month name in locale set by moment.locale()
D DD 1..31 Day of month
Do 1st..31st Day of month with ordinal
DDD DDDD 1..365 Day of year
X 1410715640.579 Unix timestamp
x 1410715640579 Unix ms timestamp
(2)时分(fēn)秒(miǎo)

Input Example Description
H HH 0..23 24 hour time
h hh 1..12 12 hour time used with a A.
a A am pm Post or ante meridiem (Note the one character a p are also considered valid)
m mm 0..59 Minutes
s ss 0..59 Seconds
S SS SSS 0..999 Fractional seconds

Z ZZ +12:00 Offset from UTC as +-HH:mm, +-HHmm, or Z

    深圳网站建设www.sz886.com

始终专注高端网站建设服務(wù) 网站建设案例服務(wù)方案联系

联系我们

135-3000-5572
151-1257-9390

地址:深圳市龙岗區(qū)横岗街(jiē)道联旺大厦5楼

邮箱:chenmh@sz886.com

我们的优势

12年建站服務(wù)经验自主开发后台CMS开发项目不外包无隐形收费

服務(wù)198家上市企业服務(wù)行业龙头超过70家 营销型网站建设完备的项目流程管理(lǐ)體(tǐ)系网页(yè)设计与网站开发技(jì )术并重

关于独占网络

十多(duō)年来,凭借对设计的深刻理(lǐ)解,对互联网营销趋势的敏锐洞察,独占网络不断修正服務(wù)导向,完善创作(zuò)品格,始终注重专业探索,為(wèi)所有(yǒu)合作(zuò)企业机构全力以赴,确保网站的视觉體(tǐ)验与营销转化能(néng)力。

我们是一群对互联网抱有(yǒu)执着信念的技(jì )术控。从2012年到现在,公(gōng)司从未建过强大的营销团队,却凭着作(zuò)品与服務(wù)不断保持增長(cháng),做到了"桃李不言,下自成蹊。" 我们坚信:每个客户都是一条渠道,每个案例都是一个广告,為(wèi)企业插上翅膀,助力企业转型升级,我们已做好准备。

专业团队為(wèi)您提供深圳网站建设、深圳网站制作(zuò)、深圳营销型网站建设、外贸网站建设等服務(wù),深圳建网站就找独占网络 | 12年专注网站建设

深圳市独占网络科(kē)技(jì )有(yǒu)限公(gōng)司 |备案号:京ICP证000000号| Copyright 2023,ALL Rights Reserved www.sz886.com | Copyright 2023版权所有(yǒu)
Hi,Are you ready? 如果您有(yǒu)意向
请于我们取得联系。

有(yǒu)一个互联网项目想和我们谈谈吗?
您可(kě)以填写右边的表格,让我们了解您的项目需求,这是一个良好的开始,我们将会尽快与你取得联系。当然也欢迎您给我们写信或是打電(diàn)话,让我们听到你的声音!

独占-整合互联网营销

地址:深圳市龙岗區(qū)横岗地铁D出口联旺大厦5楼
大客户专線(xiàn):深圳 13530005572
售前QQ:1447567909
E-mail: sales@sz886.cn

合作(zuò)意向表
您希望我们為(wèi)您提供什么服務(wù)?
雯雯的性调教日记H全文骨科视频 男人添女人下部高潮全视频 国产日韩欧美 红肿疼痛小缝不能合拢 久久精品一区二区三区四区 国産精品久久久久久久 妻子6免费完整高清电视剧看 女儿国国语高清在线观看 三年片大全免费观看 日躁夜躁狠狠躁2001 青丝影院电视剧在线观看全集免费 初次爱你插曲闯进我的世界 少妇厨房愉情2 黑料网今日黑料首页 国产AV一区二区三区 青青河边草免费观看完整版高清 被男妓的舌头伺候到高潮 麻花传剧原创MV免费观看 国产永久精品大片WWWAPP 交换娇妻1-36部分1 大地视频在线观看免费高清 少女韩国免费观看高清电视剧 妻子的秘密2电影 少妇2做爰HD韩国电影 1—40集电视剧免费观看在线播放 亚洲一线二线三线品牌精华液久久 飞机上的性服务2 狂野少女免费完整版中文 黑料门-今日黑料-最新2023 少女たちよ观看动漫第二季预告 悟空影视免费观看视频 甜蜜惩罚我是看守专用宠12集 美丽姑娘视频在线播放完整版 真人性做爰试看60分钟 多人灌满精子怀孕高H 三年中文在线观看免费大全中国 国产精品久久久久久 妻子8免费完整高清电视剧在线看 管家婆期期四肖四码中特管家 情欲秘书(H)在线阅读 艳肉乱痕1一12章 涂了春药被一群人伦爽99势 丁香花完整视频在线观看 亚洲无专砖码直接进入 脔到她哭H粗话H好爽小黄鸭视频 二人世界视频免费 亚瑟 中文字幕 今夜很长想把你做进我的梦里 少女免费观看片哔哩哔哩在线观看视频 抹布文双男主多人 TXVLOGCOM糖心官网网站 女人脱了裤衩让男人捅 免费播放男人添女人下边APP 中文字幕在线播放 被壮汉抱着抬腿边C边尿 妖精动漫免费登录页面看漫画在线观看 成人全黄A片免费看香港 免费大片在线观看WWW 今天高清视频免费观看 在教室伦流澡到高潮HBL原神 强开少妇嫩苞又嫩又紧小说 一边下奶一吃敷面膜视频60分钟 成全看免费观看完整版 少女的免费高清中国 做床爱全过程激烈视频网站 性少妇VIDEOXXX欧美69 被三个室友狂躁到早上男男 公交车上忘穿内裤被C好爽 好姑娘高清在线看国语 X7X7X7任意噪108 大地资源二3在线观看免费高清 好姑娘6影视剧在线观看国语 被绑在坐桩机上抹春药BL推文 黄瓜视频下载 欧美性猛交99久久久久99按摩 被夫上司欺辱的人妻HD中文版 年轻漂亮秘书6 8848高清电影电视剧免费看 成人做爰66片免费看网站 二人世界高清免费版在线观看