溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中Date的示例分析

發(fā)布時間:2021-08-11 11:33:22 來源:億速云 閱讀:166 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了JavaScript中Date的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Date函數(shù)

  • new Date()

Date 對象會自動把當前日期和時間保存為其初始值。

  • date.getDate()

從 Date 對象返回一個月中的某一天 (1 ~ 31)。

  • date.getDay()

從 Date 對象返回一周中的某一天 (0 ~ 6)。周日是0。

  • date.getMonth()

從 Date 對象返回月份 (0 ~ 11)。

  • date.getFullYear()

從 Date 對象以四位數(shù)字返回年份

  • date.getHours()

返回 Date 對象的小時 (0 ~ 23)。

  • date.getMinutes()

返回 Date 對象的分鐘 (0 ~ 59)。

  • date.getSeconds()

返回 Date 對象的秒數(shù) (0 ~ 59)。

  • date.getMilliseconds()

返回 Date 對象的毫秒(0 ~ 999)。

  • date.getTime()

返回 1970 年 1 月 1 日至今的毫秒數(shù)。

  • date.getTimezoneOffset()

返回格林威治時間(GMT 或 UTC)和本地時間之間的時差,以分鐘為單位。返回之所以以分鐘計,而不是以小時計,原因是某些

國家所占有的時區(qū)甚至不到一個小時的間隔。

  • date.getUTCDate()

根據(jù)世界時從 Date 對象返回月中的一天 (1 ~ 31)。

  • date.getUTCDay()

根據(jù)世界時從 Date 對象返回周中的一天 (0 ~ 6)。周日是0。

  • date.getUTCMonth()

根據(jù)世界時從 Date 對象返回月份 (0 ~ 11)。

  • date.getUTCFullYear()

根據(jù)世界時從 Date 對象返回四位數(shù)的年份。

  • date.getUTCHours()

根據(jù)世界時返回 Date 對象的小時 (0 ~ 23)。

  • date.getUTCMinutes()

根據(jù)世界時返回 Date 對象的分鐘 (0 ~ 59)。

  • date.getUTCSeconds()

根據(jù)世界時返回 Date 對象的秒鐘 (0 ~ 59)。

  • date.getUTCMilliseconds()

根據(jù)世界時返回 Date 對象的毫秒(0 ~ 999)。

  • Date.parse(string)

返回1970年1月1日午夜到指定日期(字符串)的毫秒數(shù)。

  • date.setDate(int)

設置 Date 對象中月的某一天 (1 ~ 31)。返回調(diào)整過的日期的毫秒表示。

  • date.setMonth(month[, day])

設置 Date 對象中月份 (0 ~ 11)。day參數(shù)可選,表示該月的某一天介于 1 ~ 31 之間。

  • date.setFullYear(year[, month, day])

設置 Date 對象中的年份(四位數(shù)字)。month參數(shù)可選,表示月份介于 0 ~ 11 之間。day參數(shù)可選,表示該月的某一天介于 1 ~ 31 之間。

  • date.setHours(hours[, minutes, seconds, milliseconds])

設置 Date 對象中的小時 (0 ~ 23)。minutes參數(shù)可選,表示分鐘數(shù)介于 0 ~ 59 之間。seconds參數(shù)可選,表示分鐘數(shù)介于 0

~ 59 之間。milliseconds參數(shù)可選,表示分鐘數(shù)介于 0 ~ 999 之間。

  • date.setMinutes(minutes[, seconds, milliseconds])

設置 Date 對象中的分鐘 (0 ~ 59)。seconds參數(shù)可選,表示分鐘數(shù)介于 0 ~ 59 之間。milliseconds參數(shù)可選,表示分鐘數(shù)介于 0 ~ 999 之間。

  • date.setSeconds(seconds[, milliseconds])

設置 Date 對象中的秒鐘 (0 ~ 59)。milliseconds參數(shù)可選,表示分鐘數(shù)介于 0 ~ 999 之間。

  • date.setMilliseconds(int)

設置 Date 對象中的毫秒 (0 ~ 999)。

  • date.setTime(long)

設置的日期和時間據(jù) GMT 時間 1970 年 1 月 1 日午夜之間的毫秒數(shù)。以毫秒形式表示日期可以使它獨立于時區(qū)。

  • date.setUTCDate(int)

根據(jù)世界時設置 Date 對象中月份的一天 (1 ~ 31)。

  • date.setUTCMonth(minutes[, seconds, milliseconds])

根據(jù)世界時設置 Date 對象中的月份 (0 ~ 11)。seconds參數(shù)可選,表示分鐘數(shù)介于 0 ~ 59 之間。milliseconds參數(shù)可選,表

示分鐘數(shù)介于 0 ~ 999 之間。

  • date.setUTCFullYear(year[, month, day])

根據(jù)世界時設置 Date 對象中的年份(四位數(shù)字)。month參數(shù)可選,表示月份介于 0 ~ 11 之間。day參數(shù)可選,表示該月的

某一天介于 1 ~ 31 之間。

  • date.setUTCHours(hours[, minutes, seconds, milliseconds])

根據(jù)世界時設置 Date 對象中的小時 (0 ~ 23)。minutes參數(shù)可選,表示分鐘數(shù)介于 0 ~ 59 之間。seconds參數(shù)可選,表示分

鐘數(shù)介于 0 ~ 59 之間。milliseconds參數(shù)可選,表示分鐘數(shù)介于 0 ~ 999 之間。

  • date.setUTCMinutes(minutes[, seconds, milliseconds])

根據(jù)世界時設置 Date 對象中的分鐘 (0 ~ 59)。seconds參數(shù)可選,表示分鐘數(shù)介于 0 ~ 59 之間。milliseconds參數(shù)可選,表

示分鐘數(shù)介于 0 ~ 999 之間。

  • date.setUTCSeconds(seconds[, milliseconds])

根據(jù)世界時設置 Date 對象中的秒鐘 (0 ~ 59)。milliseconds參數(shù)可選,表示分鐘數(shù)介于 0 ~ 999 之間。

  • date.setUTCMilliseconds(int)

根據(jù)世界時設置 Date 對象中的毫秒 (0 ~ 999)。

  • date.toString()

把 Date 對象轉換為字符串。

  • date.toTimeString()

把 Date 對象的時間部分轉換為字符串。

  • date.toDateString()

把 Date 對象的日期部分轉換為字符串。

  • date.toUTCString()

根據(jù)世界時,把 Date 對象轉換為字符串。

  • date.toLocaleString()

根據(jù)本地時間格式,把 Date 對象轉換為字符串。

  • date.toLocaleTimeString()

根據(jù)本地時間格式,把 Date 對象的時間部分轉換為字符串。

  • date.toLocaleDateString()

根據(jù)本地時間格式,把 Date 對象的日期部分轉換為字符串。

  • Date.UTC(year,month,day[,hour,minute,second,milliseconds])

根據(jù)世界時返回 1970 年 1 月 1 日 到指定日期的毫秒數(shù)。年月日必填,時分秒毫秒都是選填的。

  • date.valueOf()

返回 Date 對象的原始值。與 Date.getTime 返回的值相等。即 1970 年 1 月 1 日至今的毫秒數(shù)。

<html>
 <head>
 <style type="text/css">
  body {
  font-size:14px;  
  }
  </style>
 </head>
 <body>
 <script type="text/javascript">
  function write(name, value) {
  document.write(name + " = " + value + "<br/>");
  }
  var date = new Date();//Date 對象會自動把當前日期和時間保存為其初始值。
  write("new Date()", date);
  write("date.getDate()", date.getDate());//從 Date 對象返回一個月中的某一天 (1 ~ 31)。
  write("date.getDay()", date.getDay());//從 Date 對象返回一周中的某一天 (0 ~ 6)。周日是0。
  write("date.getMonth()", date.getMonth());//從 Date 對象返回月份 (0 ~ 11)。
  write("date.getFullYear()", date.getFullYear());//從 Date 對象以四位數(shù)字返回年份。
  write("date.getHours()", date.getHours());//返回 Date 對象的小時 (0 ~ 23)。
  write("date.getMinutes()", date.getMinutes());//返回 Date 對象的分鐘 (0 ~ 59)。
  write("date.getSeconds()", date.getSeconds());//返回 Date 對象的秒數(shù) (0 ~ 59)。
  write("date.getMilliseconds()", date.getMilliseconds());//返回 Date 對象的毫秒(0 ~ 999)。
  write("date.getTime()", date.getTime());//返回 1970 年 1 月 1 日至今的毫秒數(shù)。
  write("date.getTimezoneOffset()/60", date.getTimezoneOffset()/60);//返回格林威治時間(GMT 或 UTC)和本地時間之間的時差,以分鐘為單位。返回之所以以分鐘計,而不是以小時計,原因是某些國家所占有的時區(qū)甚至不到一個小時的間隔。
  write("date.getUTCDate()", date.getUTCDate());//根據(jù)世界時從 Date 對象返回月中的一天 (1 ~ 31)。
  write("date.getUTCDay()", date.getUTCDay());//根據(jù)世界時從 Date 對象返回周中的一天 (0 ~ 6)。周日是0。
  write("date.getUTCMonth()", date.getUTCMonth());//根據(jù)世界時從 Date 對象返回月份 (0 ~ 11)。
  write("date.getUTCFullYear()", date.getUTCFullYear());//根據(jù)世界時從 Date 對象返回四位數(shù)的年份。
  write("date.getUTCHours()", date.getUTCHours());//根據(jù)世界時返回 Date 對象的小時 (0 ~ 23)。
  write("date.getUTCMinutes()", date.getUTCMinutes());//根據(jù)世界時返回 Date 對象的分鐘 (0 ~ 59)。
  write("date.getUTCSeconds()", date.getUTCSeconds());//根據(jù)世界時返回 Date 對象的秒鐘 (0 ~ 59)。
  write("date.getUTCMilliseconds()", date.getUTCMilliseconds());//根據(jù)世界時返回 Date 對象的毫秒(0 ~ 999)。
  write("Date.parse(string)", Date.parse(date.toString()));//返回1970年1月1日午夜到指定日期(字符串)的毫秒數(shù)。
  write("date.setDate(int)", date.setDate(1));//設置 Date 對象中月的某一天 (1 ~ 31)。返回調(diào)整過的日期的毫秒表示。
  write("date.setMonth(int)", date.setMonth(0));//設置 Date 對象中月份 (0 ~ 11)。
  write("date.setFullYear(int)", date.setFullYear(2017));//設置 Date 對象中的年份(四位數(shù)字)。
  write("date.setHours(int)", date.setHours(0));//設置 Date 對象中的小時 (0 ~ 23)。
  write("date.setMinutes(int)", date.setMinutes(0));//設置 Date 對象中的分鐘 (0 ~ 59)。
  write("date.setSeconds(int)", date.setSeconds(0));//設置 Date 對象中的秒鐘 (0 ~ 59)。
  write("date.setMilliseconds(int)", date.setMilliseconds(0));//設置 Date 對象中的毫秒 (0 ~ 999)。
  write("date.setTime(long)", date.setTime(Date.UTC(2017,0,1)));//設置的日期和時間據(jù) GMT 時間 1970 年 1 月 1 日午夜之間的毫秒數(shù)。以毫秒形式表示日期可以使它獨立于時區(qū)。
  write("date.setUTCDate(int)", date.setUTCDate(1));//根據(jù)世界時設置 Date 對象中月份的一天 (1 ~ 31)。
  write("date.setUTCMonth(int)", date.setUTCMonth(0));//根據(jù)世界時設置 Date 對象中的月份 (0 ~ 11)。
  write("date.setUTCFullYear(int)", date.setUTCFullYear(2017));//根據(jù)世界時設置 Date 對象中的年份(四位數(shù)字)。
  write("date.setUTCHours(int)", date.setUTCHours(0));//根據(jù)世界時設置 Date 對象中的小時 (0 ~ 23)。
  write("date.setUTCMinutes(int)", date.setUTCMinutes(0));//根據(jù)世界時設置 Date 對象中的分鐘 (0 ~ 59)。
  write("date.setUTCSeconds(int)", date.setUTCSeconds(0));//根據(jù)世界時設置 Date 對象中的秒鐘 (0 ~ 59)。
  write("date.setUTCMilliseconds(long)", date.setUTCMilliseconds(0));//根據(jù)世界時設置 Date 對象中的毫秒 (0 ~ 999)。
  write("date.toString()", date.toString());//把 Date 對象轉換為字符串。
  write("date.toTimeString()", date.toTimeString());//把 Date 對象的時間部分轉換為字符串。
  write("date.toDateString()", date.toDateString());//把 Date 對象的日期部分轉換為字符串。
  write("date.toUTCString()", date.toUTCString());//根據(jù)世界時,把 Date 對象轉換為字符串。
  write("date.toLocaleString()", date.toLocaleString());//根據(jù)本地時間格式,把 Date 對象轉換為字符串。
  write("date.toLocaleTimeString()", date.toLocaleTimeString());//根據(jù)本地時間格式,把 Date 對象的時間部分轉換為字符串。
  write("date.toLocaleDateString()", date.toLocaleDateString());//根據(jù)本地時間格式,把 Date 對象的日期部分轉換為字符串。
  write("Date.UTC(year,month,day[,hour,minute,second,milliseconds])", Date.UTC(2017,0,1,0,0,0));//根據(jù)世界時返回 1970 年 1 月 1 日 到指定日期的毫秒數(shù)。年月日必填,時分秒毫秒都是選填的。
  write("date.valueOf()", date.valueOf());//返回 Date 對象的原始值。與 Date.getTime 返回的值相等。即 1970 年 1 月 1 日至今的毫秒數(shù)。
 </script>
 </body>
</html>

格式化Date

由于JS本身并不提供格式化日期的函數(shù)。因此必須借助prototype屬性來添加自定義的日期格式化方法。

<html>
 <head>
 <meta charset="UTF8" />
 </head>
 <body>
 <script type="text/javascript">
  /*
  年(y)可以用 1-4 個占位符
  月(M)、日(d)、時(H,24時)、時(h,12時)、分(m)、秒(s)、季度(q) 可以用 1-2 個占位符
  毫秒(S)只能用 1 個占位符(是 1-3 位數(shù)字) 
  AM或PM只能用 1 個占位符(是 2 位英文)
  上午或下午(T)只能用 1 個占位符(是 2 位中文)
  星期(E)可以用 1-3 個占位符
  季度(q)只能用 1 個占位符(是 1 位數(shù)字)
  */
  Date.prototype.format = function(fmt) {
  var map = {
   "M+" : this.getMonth() + 1, //月
   "d+" : this.getDate(),  //日
   "H+" : this.getHours(),  //24時
   /*
   上午12時只代表當天上午的12時,下午的12時代表當天下午的12時,
   0時代表第二天的開始,即前面一天12時已過0時開始計算新一天的時間,
   雖然說時間上跟前面那一天下午12時重合,但日期已經(jīng)發(fā)生更改,所以不能說0時就是12時
   */
   "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12,//12時
   "m+" : this.getMinutes(), //分
   "s+" : this.getSeconds(), //秒
   "S" : this.getMilliseconds(), //毫秒
   "t" : this.getHours() < 12 ? "AM" : "PM",
   "T" : this.getHours() < 12 ? "上午" : "下午",
  };
  var week = {
   "0" : "日",
   "1" : "一",
   "2" : "二",
   "3" : "三",
   "4" : "四",
   "5" : "五",
   "6" : "六",
  }
  var quarter = {
   "0" : "一",
   "1" : "二",
   "2" : "三",
   "3" : "四",
  }
  if(/(y+)/.test(fmt)) {
   fmt = fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
  }
  if(/(E+)/.test(fmt)) {
   var weekPreStr;
   switch(RegExp.$1.length) {
   case 1:
    weekPreStr = "";
   break;
   case 2:
    weekPreStr = "周";
   break;
   default:
    weekPreStr = "星期";
   break;
   }
   fmt = fmt.replace(RegExp.$1, weekPreStr + week[this.getDay()]);
  }
  if(/(q)/.test(fmt)) {
   fmt = fmt.replace(RegExp.$1, quarter[Math.floor(this.getMonth() / 3)]);
  }
  for(var key in map) {
   if(new RegExp("(" + key + ")").test(fmt)) {
   fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? map[key] : ("00" + map[key]).substr((map[key]+"").length));
   }
  }
  return fmt;
  }
  function write(str) {
  document.write(str + "<br/>");
  }
  var date = new Date();
  write(date.toString());
  write(date.toUTCString());
  write(date.toLocaleString());
  write("");
  write(date.format("yy-M-d t h:m:s.S"));
  write(date.format("yyyy-MM-dd hh:mm:ss.S"));
  write(date.format("yyyy-MM-dd E HH:mm:ss"));
  write(date.format("yyyy-MM-dd EE hh:mm:ss"));
  write(date.format("yyyy-MM-dd EEE hh:mm:ss"));
  write(date.format("yyyy年MM月dd日 EEE hh:mm:ss 第q季度"));
 </script>
 </body>
</html>

對Date設置超出范圍的參數(shù)

即使設置了超出范圍的參數(shù)也不會報錯,只會計算“最大合法值”與“超出值”相加得到的date。

<html>
 <body>
 <script type="text/javascript">
  var date = new Date();
  date.setFullYear(2016,12,32, 0, 0, 0);
  document.write(date);
 </script>
 </body>
</html>

JavaScript中Date的示例分析

增減Date

<html>
 <body>
 <script type="text/javascript">
  var date = new Date();
  date.setFullYear(2017,0,1, 0, 0, 0);
  document.write("date = " + date + "<br/>");
  date.setDate(date.getDate()+5);
  document.write("after date + 5, date = " + date + "<br/>");
  date.setDate(date.getDate()-10);
  document.write("after date - 10, date = " + date + "<br/>");
 </script>
 </body>
</html>

JavaScript中Date的示例分析

比較Date

<html>
 <head>
 <meta charset="UTF8" />
 </head>
 <body>
 <script type="text/javascript">
  var date1 = new Date();
  var date2 = new Date();
  date1.setTime(Date.UTC(2017,0,1));
  date2.setTime(Date.UTC(2016,11,31));
  document.write("date1 = " + date1.toLocaleString() + "<br/>");
  document.write("date2 = " + date2.toLocaleString() + "<br/>");
  document.write("date1 - date2 = " + (date1 - date2) + "毫秒<br/>");
  document.write("date1 - date2 = " + (date1 - date2)/1000/60/60 + "小時<br/>");
  document.write("date1 > date2 = " + (date1 > date2) + "<br/>");
  document.write("date1 < date2 = " + (date1 < date2) + "<br/>");
 </script>
 </body>
</html>

JavaScript中Date的示例分析

感謝你能夠認真閱讀完這篇文章,希望小編分享的“JavaScript中Date的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI