Baseline Widely available *
å建ä¸ä¸ª JavaScript Date
å®ä¾ï¼è¯¥å®ä¾åç°æ¶é´ä¸çæä¸ªæ¶å»ãDate
对象ååºäº Unix Time Stampï¼å³èª 1970 å¹´ 1 æ 1 æ¥ï¼UTCï¼èµ·ç»è¿çæ¯«ç§æ°ã
const date1 = new Date("December 17, 1995 03:24:00");
// Sun Dec 17 1995 03:24:00 GMT...
const date2 = new Date("1995-12-17T03:24:00");
// Sun Dec 17 1995 03:24:00 GMT...
console.log(date1 === date2);
// Expected output: false
console.log(date1 - date2);
// Expected output: 0
è¯æ³
new Date(); new Date(value); new Date(dateString); new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
夿³¨ï¼ å建ä¸ä¸ªæ°Date
对象çå¯ä¸æ¹æ³æ¯éè¿new
æä½ç¬¦ï¼ä¾å¦ï¼let now = new Date();
è¥å°å®ä½ä¸ºå¸¸è§å½æ°è°ç¨ï¼å³ä¸å new
æä½ç¬¦ï¼ï¼å°è¿åä¸ä¸ªå符串ï¼èé Date
对象ã
Date()
æé 彿°æåç§åºæ¬å½¢å¼
å¦ææ²¡ææä¾åæ°ï¼é£ä¹æ°å建ç Date 对象表示å®ä¾åæ¶å»çæ¥æåæ¶é´ã
Unix æ¶é´æ³value
ä¸ä¸ª Unix æ¶é´æ³ï¼Unix Time Stampï¼ï¼å®æ¯ä¸ä¸ªæ´æ°å¼ï¼è¡¨ç¤ºèª 1970 å¹´ 1 æ 1 æ¥ 00:00:00 UTCï¼the Unix epochï¼ä»¥æ¥çæ¯«ç§æ°ï¼å¿½ç¥äºé°ç§ã请注æå¤§å¤æ° Unix æ¶é´æ³åè½ä» ç²¾ç¡®å°ææ¥è¿çç§ã
dateString
è¡¨ç¤ºæ¥æçå符串å¼ã该å符串åºè¯¥è½è¢« Date.parse()
æ£ç¡®æ¹æ³è¯å«ï¼å³ç¬¦å IETF-compliant RFC 2822 timestamps æ version of ISO8601ï¼ã
夿³¨ï¼ ç±äºæµè§å¨ä¹é´çå·®å¼ä¸ä¸ä¸è´æ§ï¼å¼ºç䏿¨è使ç¨Date
æé 彿°æ¥è§£ææ¥æå符串 (æä½¿ç¨ä¸å
¶çä»·çDate.parse
)ã对 RFC 2822 æ ¼å¼çæ¥æä»
æçº¦å®ä¿æçæ¯æã对 ISO 8601 æ ¼å¼çæ¯æä¸ï¼ä»
ææ¥æç串 (ä¾å¦ "1970-01-01") ä¼è¢«å¤ç为 UTC è䏿¯æ¬å°æ¶é´ï¼ä¸å
¶ä»æ ¼å¼ç串çå¤çä¸åã
å½è³å°æä¾äºå¹´ä»½ä¸æä»½æ¶ï¼è¿ä¸å½¢å¼ç Date()
è¿åç Date
对象ä¸çæ¯ä¸ä¸ªæå齿¥èªä¸ååæ°ãæ²¡ææä¾çæåå°ä½¿ç¨æå°å¯è½å¼ï¼å¯¹æ¥æä¸º1
ï¼å
¶ä»ä¸º0
ï¼ã
year
è¡¨ç¤ºå¹´ä»½çæ´æ°å¼ã0 å° 99 ä¼è¢«æ å°è³ 1900 å¹´è³ 1999 å¹´ï¼å ¶ä»å¼ä»£è¡¨å®é 年份ãåè§ ç¤ºä¾ã
monthIndex
表示æä»½çæ´æ°å¼ï¼ä» 0ï¼1 æï¼å° 11ï¼12 æï¼ã
表示ä¸ä¸ªæä¸ç第å å¤©çæ´æ°å¼ï¼ä» 1 å¼å§ãé»è®¤å¼ä¸º 1ã
hours
å¯é
表示ä¸å¤©ä¸çå°æ¶æ°çæ´æ°å¼ (24 å°æ¶å¶)ãé»è®¤å¼ä¸º 0ï¼åå¤ï¼ã
minutes
å¯é
表示ä¸ä¸ªå®æ´æ¶é´ï¼å¦ 01:10:00ï¼ä¸çåéé¨åçæ´æ°å¼ãé»è®¤å¼ä¸º 0ã
seconds
å¯é
表示ä¸ä¸ªå®æ´æ¶é´ï¼å¦ 01:10:00ï¼ä¸çç§é¨åçæ´æ°å¼ãé»è®¤å¼ä¸º 0ã
milliseconds
å¯é
表示ä¸ä¸ªå®æ´æ¶é´ç毫ç§é¨åçæ´æ°å¼ãé»è®¤å¼ä¸º 0ã
夿³¨ï¼ åæ°monthIndex
æ¯ä»â0âå¼å§è®¡ç®çï¼è¿å°±æå³çä¸æä»½ä¸ºâ0âï¼åäºæä»½ä¸ºâ11âã
夿³¨ï¼ å½ Date ä½ä¸ºæé 彿°è°ç¨å¹¶ä¼ å
¥å¤ä¸ªåæ°æ¶ï¼å¦ææ°å¼å¤§äºåçèå´æ¶ï¼å¦æä»½ä¸º 13 æè
åéæ°ä¸º 70ï¼ï¼ç¸é»çæ°å¼ä¼è¢«è°æ´ãæ¯å¦ new Date(2013, 13, 1) çäº new Date(2014, 1, 1)ï¼å®ä»¬é½è¡¨ç¤ºæ¥æ 2014-02-01ï¼æ³¨ææä»½æ¯ä» 0 å¼å§çï¼ãå
¶ä»æ°å¼ä¹æ¯ç±»ä¼¼ï¼new Date(2013, 2, 1, 0, 70) çäº new Date(2013, 2, 1, 1, 10)ï¼é½è¡¨ç¤ºåä¸ä¸ªæ¶é´ï¼2013-03-01T01:10:00
ã
夿³¨ï¼ å½ Date ä½ä¸ºæé 彿°è°ç¨å¹¶ä¼ å
¥å¤ä¸ªåæ°æ¶ï¼æå®ä¹åæ°ä»£è¡¨çæ¯å½å°æ¶é´ã妿éè¦ä½¿ç¨ä¸çåè°æ¶ UTCï¼ä½¿ç¨ new Date(
åç¸ååæ°ãDate.UTC(...)
)
Date
对象çèå´æ¯ -100,000,000 å¤©è³ 100,000,000 天ï¼çæç毫ç§å¼ï¼ãDate
å¯¹è±¡ä¸ºè·¨å¹³å°æä¾äºç»ä¸çè¡ä¸ºãæ¶é´å±æ§å¯ä»¥å¨ä¸åçç³»ç»ä¸è¡¨ç¤ºç¸åçæ¶å»ï¼èå¦æä½¿ç¨äºæ¬å°æ¶é´å¯¹è±¡ï¼ååæ å½å°çæ¶é´ãDate
å¯¹è±¡æ¯æå¤ä¸ªå¤ç UTC æ¶é´çæ¹æ³ï¼ä¹ç¸åºå°æä¾äºåºå¯¹å½å°æ¶é´çæ¹æ³ãUTCï¼ä¹å°±æ¯æä»¬æè¯´çæ ¼æå¨æ²»æ¶é´ï¼æçæ¯ time ä¸çä¸çæ¶é´æ åãèå½å°æ¶é´åæ¯ææ§è¡ JavaScript ç客æ·ç«¯çµèæè®¾ç½®çæ¶é´ãDate
对象ï¼å³ä¸ä½¿ç¨ new
æä½ç¬¦ï¼ä¼è¿åä¸ä¸ªä»£è¡¨å½åæ¥æåæ¶é´çå符串ãDate.prototype
å
许为 Date
对象添å 屿§ã
Date.length
Date.length
ç弿¯ 7ãè¿æ¯è¯¥æé 彿°å¯æ¥åçåæ°ä¸ªæ°ã
Date.now()
è¿åèª 1970-1-1 00:00:00 UTCï¼ä¸çæ åæ¶é´ï¼è³ä»æç»è¿çæ¯«ç§æ°ã
Date.parse()
è§£æä¸ä¸ªè¡¨ç¤ºæ¥æçå符串ï¼å¹¶è¿åä» 1970-1-1 00:00:00 æç»è¿çæ¯«ç§æ°ã
夿³¨ï¼ ç±äºæµè§å¨å·®å¼åä¸ä¸è´ï¼å¼ºç建议ä¸è¦ä½¿ç¨Date.parse
è§£æå符串ã
Date.UTC()
æ¥ååæé 彿°æé¿å½¢å¼çåæ°ç¸åçåæ°ï¼ä» 2 å° 7ï¼ï¼å¹¶è¿åä» 1970-01-01 00:00:00 UTC å¼å§æç»è¿çæ¯«ç§æ°ã
Date
å®ä¾
ææç Date
å®ä¾é½ç»§æ¿èª Date.prototype
ãä¿®æ¹ Date
æé 彿°çåå对象ä¼å½±åå°ææç Date
å®ä¾ã
Date.prototype.constructor
è¿åå建äºå®ä¾çæé 彿°ï¼é»è®¤æ¯ Date
æé 彿°ã
Date.prototype.getDate()
æ ¹æ®æ¬å°æ¶é´ï¼è¿åä¸ä¸ªæå®ç Date
对象为ä¸ä¸ªæä¸çåªä¸æ¥ï¼1
-31
ï¼ã
Date.prototype.getDay()
æ ¹æ®æ¬å°æ¶é´ï¼è¿åä¸ä¸ªæå®ç Date
对象æ¯å¨ä¸å¨ä¸ç第å 天ï¼0
-6
ï¼ï¼0 表示ææå¤©ã
Date.prototype.getFullYear()
æ ¹æ®æ¬å°æ¶é´ï¼è¿åä¸ä¸ªæå®ç Date
对象ç宿´å¹´ä»½ï¼å使°å¹´ä»½ï¼ã
Date.prototype.getHours()
æ ¹æ®æ¬å°æ¶é´ï¼è¿åä¸ä¸ªæå®ç Date
对象çå°æ¶ï¼0
â23
ï¼ã
Date.prototype.getMilliseconds()
æ ¹æ®æ¬å°æ¶é´ï¼è¿åä¸ä¸ªæå®ç Date
å¯¹è±¡çæ¯«ç§æ°ï¼0
â999
ï¼ã
Date.prototype.getMinutes()
æ ¹æ®æ¬å°æ¶é´ï¼è¿åä¸ä¸ªæå®ç Date
对象çåéæ°ï¼0
â59
ï¼ã
Date.prototype.getMonth()
æ ¹æ®æ¬å°æ¶é´ï¼è¿åä¸ä¸ªæå®ç Date
对象çæä»½ï¼0
â11
ï¼ï¼0 表示ä¸å¹´ä¸çç¬¬ä¸æã
Date.prototype.getSeconds()
æ ¹æ®æ¬å°æ¶é´ï¼è¿åä¸ä¸ªæå®ç Date
对象çç§æ°ï¼0
â59
ï¼ã
Date.prototype.getTime()
è¿åä¸ä¸ªæ°å¼ï¼è¡¨ç¤ºä» 1970 å¹´ 1 æ 1 æ¥ 0 æ¶ 0 å 0 ç§ï¼UTCï¼å³åè°ä¸çæ¶ï¼è·ç¦»è¯¥ Date
对象æä»£è¡¨æ¶é´çæ¯«ç§æ°ãï¼æ´æ©çæ¶é´ä¼ç¨è´æ°è¡¨ç¤ºï¼
Date.prototype.getTimezoneOffset()
è¿ååè°ä¸çæ¶ï¼UTCï¼ç¸å¯¹äºå½åæ¶åºçæ¶é´å·®å¼ï¼åä½ä¸ºåéã
Date.prototype.getUTCDate()
以åè°ä¸çæ¶ä¸ºæ åï¼è¿åä¸ä¸ªæå®ç Date
对象为ä¸ä¸ªæä¸çåªä¸æ¥ï¼1
-31
ï¼ã
Date.prototype.getUTCDay()
以åè°ä¸çæ¶ä¸ºæ åï¼è¿åä¸ä¸ªæå®ç Date
对象æ¯å¨ä¸å¨ä¸ç第å 天ï¼0
-6
ï¼ï¼0 表示ææå¤©ã
Date.prototype.getUTCFullYear()
以åè°ä¸çæ¶ä¸ºæ åï¼è¿åä¸ä¸ªæå®ç Date
对象ç宿´å¹´ä»½ï¼å使°å¹´ä»½ï¼ã
Date.prototype.getUTCHours()
以åè°ä¸çæ¶ä¸ºæ åï¼è¿åä¸ä¸ªæå®ç Date
对象çå°æ¶ï¼0
â23
ï¼ã
Date.prototype.getUTCMilliseconds()
以åè°ä¸çæ¶ä¸ºæ åï¼è¿åä¸ä¸ªæå®ç Date
å¯¹è±¡çæ¯«ç§æ°ï¼0
â999
ï¼ã
Date.prototype.getUTCMinutes()
以åè°ä¸çæ¶ä¸ºæ åï¼è¿åä¸ä¸ªæå®ç Date
对象çåéæ°ï¼0
â59
ï¼ã
Date.prototype.getUTCMonth()
以åè°ä¸çæ¶ä¸ºæ åï¼è¿åä¸ä¸ªæå®ç Date
对象çæä»½ï¼0
â11
ï¼ï¼0 表示ä¸å¹´ä¸çç¬¬ä¸æã
Date.prototype.getUTCSeconds()
以åè°ä¸çæ¶ä¸ºæ åï¼è¿åä¸ä¸ªæå®ç Date
对象çç§æ°ï¼0
â59
ï¼ã
Date.prototype.getYear()
æ ¹æ®æ¬å°æ¶é´ï¼è¿åä¸ä¸ªæå®ç Date
对象çç¸å¯¹å¹´ä»½ï¼ç¸å¯¹ 1900 å¹´ï¼éå¸¸æ¯ 2 å° 3 使°åï¼ã请æ¹ç¨ getFullYear
ã
Date.prototype.setDate()
æ ¹æ®æ¬å°æ¶é´ï¼è®¾ç½®ä¸ä¸ª Date
å¯¹è±¡å¨æå±æä»½ä¸ç天æ°ã
Date.prototype.setFullYear()
æ ¹æ®æ¬å°æ¶é´ï¼è®¾ç½®ä¸ä¸ª Date
对象ç宿´å¹´ä»½ï¼å使°å¹´ä»½ï¼ã
Date.prototype.setHours()
æ ¹æ®æ¬å°æ¶é´ï¼è®¾ç½®ä¸ä¸ª Date
对象çå°æ¶æ°ã
Date.prototype.setMilliseconds()
æ ¹æ®æ¬å°æ¶é´ï¼è®¾ç½®ä¸ä¸ª Date
对象çè±ªç§æ°ã
Date.prototype.setMinutes()
æ ¹æ®æ¬å°æ¶é´ï¼è®¾ç½®ä¸ä¸ª Date
对象çåéæ°ã
Date.prototype.setMonth()
æ ¹æ®æ¬å°æ¶é´ï¼è®¾ç½®ä¸ä¸ª Date
对象çæä»½ã
Date.prototype.setSeconds()
æ ¹æ®æ¬å°æ¶é´ï¼è®¾ç½®ä¸ä¸ª Date
对象çç§æ°ã
Date.prototype.setTime()
ç¨ä¸ä¸ªä» 1970-1-1 00:00:00 UTC 计æ¶çæ¯«ç§æ°æ¥ä¸ºä¸ä¸ª Date
对象设置æ¶é´ãç¨è´æ°æ¥è®¾ç½®æ´æ©çæ¶é´ã
Date.prototype.setUTCDate()
以åè°ä¸çæ¶ä¸ºæ åï¼è®¾ç½®ä¸ä¸ª Date
å¯¹è±¡å¨æå±æä»½ä¸ç天æ°ã
Date.prototype.setUTCFullYear()
以åè°ä¸çæ¶ä¸ºæ åï¼è®¾ç½®ä¸ä¸ª Date
对象ç宿´å¹´ä»½ï¼å使°å¹´ä»½ï¼ã
Date.prototype.setUTCHours()
以åè°ä¸çæ¶ä¸ºæ åï¼è®¾ç½®ä¸ä¸ª Date
对象çå°æ¶æ°ã
Date.prototype.setUTCMilliseconds()
以åè°ä¸çæ¶ä¸ºæ åï¼è®¾ç½®ä¸ä¸ª Date
对象çè±ªç§æ°ã
Date.prototype.setUTCMinutes()
以åè°ä¸çæ¶ä¸ºæ åï¼è®¾ç½®ä¸ä¸ª Date
对象çåéæ°ã
Date.prototype.setUTCMonth()
以åè°ä¸çæ¶ä¸ºæ åï¼è®¾ç½®ä¸ä¸ª Date
对象çæä»½ã
Date.prototype.setUTCSeconds()
以åè°ä¸çæ¶ä¸ºæ åï¼è®¾ç½®ä¸ä¸ª Date
对象çç§æ°ã
Date.prototype.setYear()
æ ¹æ®æ¬å°æ¶é´ï¼è®¾ç½®ä¸ä¸ª Date
对象çç¸å¯¹å¹´ä»½ï¼ç¸å¯¹ 1900 å¹´ï¼éå¸¸æ¯ 2 å° 3 使°åï¼ã请æ¹ç¨ setFullYear
ã
Date.prototype.toDateString()
以ç¾å¼è±è¯å人类æè¯»ç表述形å¼è¿åä¸ä¸ª Date
å¯¹è±¡æ¥æé¨åçå符串ã
Date.prototype.toISOString()
å°æå® Date
å¯¹è±¡è½¬æ¢æ ISO æ ¼å¼è¡¨è¿°çå符串并è¿åã
Date.prototype.toJSON()
è¿åæå® Date
对象è°ç¨ toISOString()
æ¹æ³çè¿åå¼ãå¨ JSON.stringify()
ä¸ä½¿ç¨ã
Date.prototype.toLocaleDateString()
è¿åä¸ä¸ªè¡¨è¿°æå® Date
å¯¹è±¡çæ¥æé¨åå符串ã该åç¬¦ä¸²æ ¼å¼å ä¸åè¯è¨èä¸åã
Date.prototype.toLocaleString()
è¿åä¸ä¸ªè¡¨è¿°æå® Date
对象çå符串ã该åç¬¦ä¸²æ ¼å¼å ä¸åè¯è¨èä¸åã
Date.prototype.toLocaleTimeString()
è¿åä¸ä¸ªè¡¨è¿°æå® Date
对象æ¶é´é¨åçå符串ã该åç¬¦ä¸²æ ¼å¼å ä¸åè¯è¨èä¸åã
Date.prototype.toString()
è¿åä¸ä¸ªå符串ï¼è¡¨ç¤ºè¯¥ Date
对象ãè¦çäº Object.prototype.toString()
æ¹æ³ã
Date.prototype.toTimeString()
以人类æè¯»å½¢å¼è¿åä¸ä¸ª Date
对象æ¶é´é¨åçå符串ï¼è¯¥å符串以ç¾å¼è±è¯æ ¼å¼åã
Date.prototype.toUTCString()
ä½¿ç¨ UTC æ¶åºï¼æä¸ä¸ª Date
对象转æ¢ä¸ºä¸ä¸ªå符串ã
Date.prototype.valueOf()
è¿åä¸ä¸ª Date
对象çåå§å¼ãè¦çäº Object.prototype.valueOf()
æ¹æ³ã
ä¸ä¾å±ç¤ºäºç¨æ¥å建ä¸ä¸ªæ¥æå¯¹è±¡çå¤ç§æ¹æ³ã
夿³¨ï¼ ç±äºæµè§å¨å·®å¼åä¸ä¸è´æ§ï¼å¼ºç建议ä¸è¦ä½¿ç¨Date
æé 彿°ï¼åDate.parse
ï¼å®ä»¬æ¯çæçï¼è§£ææ¥æå符串ã
var today = new Date();
var birthday = new Date("December 17, 1995 03:24:00");
var birthday = new Date("1995-12-17T03:24:00");
var birthday = new Date(1995, 11, 17);
var birthday = new Date(1995, 11, 17, 3, 24, 0);
å°ä¸¤ä½æ°å¹´ä»½æ å°ä¸º 1900 - 1999 å¹´
为äºå建åè·å 0 å° 99 ä¹é´ç年份ï¼åºä½¿ç¨ Date.prototype.setFullYear()
å Date.prototype.getFullYear()
æ¹æ³ã
var date = new Date(98, 1); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
// å·²å¼ç¨çæ¹æ³ï¼åæ ·å° 98 æ å°ä¸º 1998
date.setYear(98); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
date.setFullYear(98); // Sat Feb 01 0098 00:00:00 GMT+0000 (BST)
计ç®ç»è¿çæ¶é´
ä¸ä¾å±ç¤ºäºå¦ä½ä»¥æ¯«ç§ç²¾åº¦è®¡ç®ä¸¤ä¸ªæ¥æå¯¹è±¡çæ¶é´å·®ï¼
ç±äºä¸åæ¥æãæä»½ã年份é¿åº¦çä¸åï¼æ¥æé¿åº¦ä¸åæ¥èªå¤ä»¤æ¶ç忢ï¼ï¼ä½¿ç¨å¤§äºç§ãåéãå°æ¶çåä½è¡¨ç¤ºç»è¿çæ¶é´ä¼éå°å¾å¤é®é¢ï¼å¨ä½¿ç¨åéè¦ç»è¿è¯¦å°½çè°ç ã
// ä½¿ç¨ Date 对象
var start = Date.now();
// è°ç¨ä¸ä¸ªæ¶èä¸å®æ¶é´çæ¹æ³ï¼
doSomethingForALongTime();
var end = Date.now();
var elapsed = end - start; // 以毫ç§è®¡çè¿è¡æ¶é¿
// 使ç¨å
建çåå»ºæ¹æ³
var start = new Date();
// è°ç¨ä¸ä¸ªæ¶èä¸å®æ¶é´çæ¹æ³ï¼
doSomethingForALongTime();
var end = new Date();
var elapsed = end.getTime() - start.getTime(); // è¿è¡æ¶é´ç毫ç§å¼
// to test a function and get back its return
function printElapsedTime(fTest) {
var nStartTime = Date.now(),
vReturn = fTest(),
nEndTime = Date.now();
alert("Elapsed time: " + String(nEndTime - nStartTime) + " milliseconds");
return vReturn;
}
yourFunctionReturn = printElapsedTime(yourFunction);
夿³¨ï¼ 卿¯æ Performance API çé«ç²¾åº¦ï¼high-resolutionï¼æ¶é´ç¹æ§çæµè§å¨ä¸ï¼Performance.now()
æä¾çæç»è¿çæ¶é´æ¯ Date.now()
æ´å å¯é ã精确ã
var seconds = Math.floor(Date.now() / 1000);
æ³¨ææ¤å¤éè¦è¿åä¸ä¸ªæ´æ°ï¼ä»
å餿³å¾å°ç䏿¯æ´æ°ï¼ï¼å¹¶ä¸éè¦è¿åå®é
å·²ç»ç»è¿çç§æ°ï¼æä»¥è¿é使ç¨äºMath.floor()
è䏿¯Math.round()
).
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4