日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js 时间和日期

發布時間:2025/4/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js 时间和日期 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? 1.當前系統區域設置格式(toLocaleDateString和toLocaleTimeString)

例子:(new Date()).toLocaleDateString() + " " + (new Date()).toLocaleTimeString()
結果: 2008年1月29日 16:13:11

2.普通字符串(toDateString和toTimeString)

例子: (new Date()).toDateString() + " " + (new Date()).toTimeString()
結果:Tue Jan 29 2008 16:13:11 UTC+0800

3.格林威治標準時間(toGMTString)

例子: (new Date()).toGMTString()
結果:Tue, 29 Jan 2008 08:13:11 UTC

4.全球標準時間(toUTCString)

例子: (new Date()).toUTCString()
結果:Tue, 29 Jan 2008 08:13:11 UTC

5.Date對象字符串(toString)

例子: (new Date()).toString()
結果:Tue Jan 29 16:13:11 UTC+0800 2008

?

document.getElementById("TopTime").innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());
顯示結果是:2008年7月17日 9:48:28 星期四

new Date().toLocaleDateString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());
顯示結果是:2008年7月17日 星期四

?

?

JavaScript 得到日期(格式:YYYY-MM-DD)

function?getdate()
{???
??
var?now=new?Date();
??y
=now.getFullYear();
??m
=now.getMonth()+1;
??d
=now.getDate();
??m
=m<10?"0"+m:m;
??d
=d<10?"0"+d:d;
??
return?y+"-"+m+"-"+d;
}
alert(getdate());

?

?

?

Javascript日期函數 ? ? ?
? Date(日期)對象可以使用Date()構造器來創建,在前面的教程中我們已經介紹了Date()構造器,這里就不重復敘述。它沒有參數,返回的數值就是當前的日期。下面的表格顯示了為日期構造器的有效輸入: ?
? ?
? var ? today ? = ? new ? Date(); ? ?
? ? 返回當前的日期和時間 ? ?
? ? ?
? var ? newyear ? = ? new ? Date(December ? 31, ? 1998 ? 23:59:59); ? ?
? ? 輸入的是表單的字符串 ? “月 ? 日,年 ? 小時:分鐘:秒” ? ?
? ? ?
? var ? bday ? = ? new ? Date(75, ? 1, ? 16); ? ?
? ? 參數是年份,月,日 ? ?
? ? ?
? var ? bday ? = ? new ? Date(75, ? 1, ? 16, ? 12, ? 0, ? 0); ? ?
? ? 參數是年份,月,日,小時,分鐘,秒 ? ?
? ? ?
? ?
? ?
? 這里作點補充:月份是從0開始的,比如一月份=0,二月份=1,三月份=3等等。 ?
? ?
? 從上面可以看出創建一個日期對象是相對地簡單,以下的表格是一系列的函數可以用于改變或者訪問這些對象的屬性: ?
? ?
? 日期訪問方法 ?
? ?
? Method(方法)????????
??????
? getYear()????
??? 返回年份的最后兩位數字 ? ?
? ? 2001 ? ?
? ? ?
? getMonth() ? ?
? ? 返回年份中的第幾月(0到11) ? ?
? ? 5 ? ?
? ? ?
? getDate() ? ?
? ? 返回月份中的第幾日(1到31) ? ?
? ? 2 ? ?
? ? ?
? getDay() ? ?
? ? 返回星期中的第幾天 ? (0到6) ? ?
? ? 6 ? ?
? ? ?
? getTimezoneOffset() ? ?
? ? 返回當地時間與格林尼治天文臺平均時間的差別 ? ?
? ? -480 ? (-8h) ? ?
? ? ?
? getHours() ? ?
? ? 返回一天中的時針點數(0到23) ? ?
? ? 16 ? ?
? ? ?
? getMinutes() ? ?
? ? 返回分鐘 ? (0..59) ? ?
? ? 8 ? ?
? ? ?
? getSeconds() ? ?
? ? 返回時間的秒 ? (0到59) ? ?
? ? 24 ? ?
? ? ?
? getTime() ? ?
? ? 返回自從公元1970年1月1日的毫秒數 ? ?
? ? 991469304470 ? ?
? ? ?
? ?
? ?
? 這里注意:IE瀏覽器的一些版本返回Timezoneoffset數值是用錯誤的符號,比如用”-”代替”+”等等。 ?
? ?
? 日期設置方法 ?
? ?
? setDate() ? ?
? ? 設置每月中的第幾天(從0到30) ? ?
? ? ?
? setHours() ? ?
? ? 設置小時(從0到23) ? ?
? ? ?
? setMinutes() ? ?
? ? 設置分鐘(從0到59) ? ?
? ? ?
? setMonth() ? ?
? ? 設置月份(從0到11) ? ?
? ? ?
? setSeconds() ? ?
? ? 設置秒數(從0到59) ? ?
? ? ?
? setTime() ? ?
? ? 設置時間(從公元以來的毫秒數) ? ?
? ? ?
? setYear() ? ?
? ? 設置年份 ? ?
? ? ?
? ?
? ?
? 其它的日期方法 ?
? ?
? parse ? ?
? ? 轉化日期字符串為自從公元以來的毫秒數,比如Date.parse(“date ? string”) ? ?
? ? ?
? toString() ? ?
? ? Sat ? Jun ? 2 ? 16:08:24 ? UTC+0800 ? 2001 ? ?
? ? ?
? toGMTString() ? ?
? ? Sat, ? 2 ? Jun ? 2001 ? 08:08:24 ? UTC ? ?
? ? ?
? toLocaleString() ? ?
? ? 2001年6月2日 ? 16:08:24 ? ?
? ? ?
? ?
? ?
? 所有的這些函數引用于獨立的日期對象。如果你具有深厚的Java編程背景,那么你可以將它們認為是Date類的一些公共的方法而已。下面給出一個典型的例子來設置日期對象到當前時間加1年: ? ?
? ?
? var ? nextYear ? = ? new ? Date(); ? // ? 初始化日期對象 ?
? ?
? nextyear.setYear(nextYear.getYear() ? + ? 1); ? // ? 增加1年 ?
? ?
? 實際上,parse函數是Date對象的一個方法,而不是一個獨立的日期變量,如果使用Java術語,它就稱為Date類的一個靜態方法。這個正是我們為什么使用Date.pase()而不使用somedate.parse()的原因啦。

?

日期時間腳本庫方法列表

Date.prototype.isLeapYear?判斷閏年
Date.prototype.Format?日期格式化
Date.prototype.DateAdd?日期計算
Date.prototype.DateDiff?比較日期差
Date.prototype.toString?日期轉字符串
Date.prototype.toArray?日期分割為數組
Date.prototype.DatePart?取日期的部分信息
Date.prototype.MaxDayOfDate?取日期所在月的最大天數
Date.prototype.WeekNumOfYear?判斷日期所在年的第幾周
StringToDate?字符串轉日期型
IsValidDate?驗證日期有效性
CheckDateTime?完整日期時間檢查
daysBetween?日期天數差

js 代碼
  • //---------------------------------------------------??
  • //?判斷閏年??
  • //---------------------------------------------------??
  • Date.prototype.isLeapYear?=?function()???
  • {???
  • ????return?(0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)));???
  • }???
  • ??
  • //---------------------------------------------------??
  • //?日期格式化??
  • //?格式?YYYY/yyyy/YY/yy?表示年份??
  • //?MM/M?月份??
  • //?W/w?星期??
  • //?dd/DD/d/D?日期??
  • //?hh/HH/h/H?時間??
  • //?mm/m?分鐘??
  • //?ss/SS/s/S?秒??
  • //---------------------------------------------------??
  • Date.prototype.Format?=?function(formatStr)???
  • {???
  • ????var?str?=?formatStr;???
  • ????var?Week?=?['日','一','二','三','四','五','六'];??
  • ??
  • ????str=str.replace(/yyyy|YYYY/,this.getFullYear());???
  • ????str=str.replace(/yy|YY/,(this.getYear()?%?100)>9?(this.getYear()?%?100).toString():'0'?+?(this.getYear()?%?100));???
  • ??
  • ????str=str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():'0'?+?this.getMonth());???
  • ????str=str.replace(/M/g,this.getMonth());???
  • ??
  • ????str=str.replace(/w|W/g,Week[this.getDay()]);???
  • ??
  • ????str=str.replace(/dd|DD/,this.getDate()>9?this.getDate().toString():'0'?+?this.getDate());???
  • ????str=str.replace(/d|D/g,this.getDate());???
  • ??
  • ????str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():'0'?+?this.getHours());???
  • ????str=str.replace(/h|H/g,this.getHours());???
  • ????str=str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():'0'?+?this.getMinutes());???
  • ????str=str.replace(/m/g,this.getMinutes());???
  • ??
  • ????str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():'0'?+?this.getSeconds());???
  • ????str=str.replace(/s|S/g,this.getSeconds());???
  • ??
  • ????return?str;???
  • }???
  • ??
  • //+---------------------------------------------------??
  • //|?求兩個時間的天數差?日期格式為?YYYY-MM-dd???
  • //+---------------------------------------------------??
  • function?daysBetween(DateOne,DateTwo)??
  • {???
  • ????var?OneMonth?=?DateOne.substring(5,DateOne.lastIndexOf?('-'));??
  • ????var?OneDay?=?DateOne.substring(DateOne.length,DateOne.lastIndexOf?('-')+1);??
  • ????var?OneYear?=?DateOne.substring(0,DateOne.indexOf?('-'));??
  • ??
  • ????var?TwoMonth?=?DateTwo.substring(5,DateTwo.lastIndexOf?('-'));??
  • ????var?TwoDay?=?DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf?('-')+1);??
  • ????var?TwoYear?=?DateTwo.substring(0,DateTwo.indexOf?('-'));??
  • ??
  • ????var?cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)-?Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);???
  • ????return?Math.abs(cha);??
  • }??
  • ??
  • ??
  • //+---------------------------------------------------??
  • //|?日期計算??
  • //+---------------------------------------------------??
  • Date.prototype.DateAdd?=?function(strInterval,?Number)?{???
  • ????var?dtTmp?=?this;??
  • ????switch?(strInterval)?{???
  • ????????case?'s'?:return?new?Date(Date.parse(dtTmp)?+?(1000?*?Number));??
  • ????????case?'n'?:return?new?Date(Date.parse(dtTmp)?+?(60000?*?Number));??
  • ????????case?'h'?:return?new?Date(Date.parse(dtTmp)?+?(3600000?*?Number));??
  • ????????case?'d'?:return?new?Date(Date.parse(dtTmp)?+?(86400000?*?Number));??
  • ????????case?'w'?:return?new?Date(Date.parse(dtTmp)?+?((86400000?*?7)?*?Number));??
  • ????????case?'q'?:return?new?Date(dtTmp.getFullYear(),?(dtTmp.getMonth())?+?Number*3,?dtTmp.getDate(),?dtTmp.getHours(),?dtTmp.getMinutes(),?dtTmp.getSeconds());??
  • ????????case?'m'?:return?new?Date(dtTmp.getFullYear(),?(dtTmp.getMonth())?+?Number,?dtTmp.getDate(),?dtTmp.getHours(),?dtTmp.getMinutes(),?dtTmp.getSeconds());??
  • ????????case?'y'?:return?new?Date((dtTmp.getFullYear()?+?Number),?dtTmp.getMonth(),?dtTmp.getDate(),?dtTmp.getHours(),?dtTmp.getMinutes(),?dtTmp.getSeconds());??
  • ????}??
  • }??
  • ??
  • //+---------------------------------------------------??
  • //|?比較日期差?dtEnd?格式為日期型或者?有效日期格式字符串??
  • //+---------------------------------------------------??
  • Date.prototype.DateDiff?=?function(strInterval,?dtEnd)?{???
  • ????var?dtStart?=?this;??
  • ????if?(typeof?dtEnd?==?'string'?)//如果是字符串轉換為日期型??
  • ????{???
  • ????????dtEnd?=?StringToDate(dtEnd);??
  • ????}??
  • ????switch?(strInterval)?{???
  • ????????case?'s'?:return?parseInt((dtEnd?-?dtStart)?/?1000);??
  • ????????case?'n'?:return?parseInt((dtEnd?-?dtStart)?/?60000);??
  • ????????case?'h'?:return?parseInt((dtEnd?-?dtStart)?/?3600000);??
  • ????????case?'d'?:return?parseInt((dtEnd?-?dtStart)?/?86400000);??
  • ????????case?'w'?:return?parseInt((dtEnd?-?dtStart)?/?(86400000?*?7));??
  • ????????case?'m'?:return?(dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12)?-?(dtStart.getMonth()+1);??
  • ????????case?'y'?:return?dtEnd.getFullYear()?-?dtStart.getFullYear();??
  • ????}??
  • }??
  • ??
  • //+---------------------------------------------------??
  • //|?日期輸出字符串,重載了系統的toString方法??
  • //+---------------------------------------------------??
  • Date.prototype.toString?=?function(showWeek)??
  • {???
  • ????var?myDate=?this;??
  • ????var?str?=?myDate.toLocaleDateString();??
  • ????if?(showWeek)??
  • ????{???
  • ????????var?Week?=?['日','一','二','三','四','五','六'];??
  • ????????str?+=?'?星期'?+?Week[myDate.getDay()];??
  • ????}??
  • ????return?str;??
  • }??
  • ??
  • //+---------------------------------------------------??
  • //|?日期合法性驗證??
  • //|?格式為:YYYY-MM-DD或YYYY/MM/DD??
  • //+---------------------------------------------------??
  • function?IsValidDate(DateStr)???
  • {???
  • ????var?sDate=DateStr.replace(/(^\s+|\s+$)/g,'');?//去兩邊空格;???
  • ????if(sDate=='')?return?true;???
  • ????//如果格式滿足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替換為''???
  • ????//數據庫中,合法日期可以是:YYYY-MM/DD(2003-3/21),數據庫會自動轉換為YYYY-MM-DD格式???
  • ????var?s?=?sDate.replace(/[\d]{?4,4?}[\-/]{?1?}[\d]{?1,2?}[\-/]{?1?}[\d]{?1,2?}/g,'');???
  • ????if?(s=='')?//說明格式滿足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D???
  • ????{???
  • ????????var?t=new?Date(sDate.replace(/\-/g,'/'));???
  • ????????var?ar?=?sDate.split(/[-/:]/);???
  • ????????if(ar[0]?!=?t.getYear()?||?ar[1]?!=?t.getMonth()+1?||?ar[2]?!=?t.getDate())???
  • ????????{???
  • ????????????//alert('錯誤的日期格式!格式為:YYYY-MM-DD或YYYY/MM/DD。注意閏年。');???
  • ????????????return?false;???
  • ????????}???
  • ????}???
  • ????else???
  • ????{???
  • ????????//alert('錯誤的日期格式!格式為:YYYY-MM-DD或YYYY/MM/DD。注意閏年。');???
  • ????????return?false;???
  • ????}???
  • ????return?true;???
  • }???
  • ??
  • //+---------------------------------------------------??
  • //|?日期時間檢查??
  • //|?格式為:YYYY-MM-DD?HH:MM:SS??
  • //+---------------------------------------------------??
  • function?CheckDateTime(str)??
  • {???
  • ????var?reg?=?/^(\d+)-(\d{?1,2?})-(\d{?1,2?})?(\d{?1,2?}):(\d{?1,2?}):(\d{?1,2?})$/;???
  • ????var?r?=?str.match(reg);???
  • ????if(r==null)return?false;???
  • ????r[2]=r[2]-1;???
  • ????var?d=?new?Date(r[1],r[2],r[3],r[4],r[5],r[6]);???
  • ????if(d.getFullYear()!=r[1])return?false;???
  • ????if(d.getMonth()!=r[2])return?false;???
  • ????if(d.getDate()!=r[3])return?false;???
  • ????if(d.getHours()!=r[4])return?false;???
  • ????if(d.getMinutes()!=r[5])return?false;???
  • ????if(d.getSeconds()!=r[6])return?false;???
  • ????return?true;???
  • }???
  • ??
  • //+---------------------------------------------------??
  • //|?把日期分割成數組??
  • //+---------------------------------------------------??
  • Date.prototype.toArray?=?function()??
  • {???
  • ????var?myDate?=?this;??
  • ????var?myArray?=?Array();??
  • ????myArray[0]?=?myDate.getFullYear();??
  • ????myArray[1]?=?myDate.getMonth();??
  • ????myArray[2]?=?myDate.getDate();??
  • ????myArray[3]?=?myDate.getHours();??
  • ????myArray[4]?=?myDate.getMinutes();??
  • ????myArray[5]?=?myDate.getSeconds();??
  • ????return?myArray;??
  • }??
  • ??
  • //+---------------------------------------------------??
  • //|?取得日期數據信息??
  • //|?參數?interval?表示數據類型??
  • //|?y?年?m月?d日?w星期?ww周?h時?n分?s秒??
  • //+---------------------------------------------------??
  • Date.prototype.DatePart?=?function(interval)??
  • {???
  • ????var?myDate?=?this;??
  • ????var?partStr='';??
  • ????var?Week?=?['日','一','二','三','四','五','六'];??
  • ????switch?(interval)??
  • ????{???
  • ????????case?'y'?:partStr?=?myDate.getFullYear();break;??
  • ????????case?'m'?:partStr?=?myDate.getMonth()+1;break;??
  • ????????case?'d'?:partStr?=?myDate.getDate();break;??
  • ????????case?'w'?:partStr?=?Week[myDate.getDay()];break;??
  • ????????case?'ww'?:partStr?=?myDate.WeekNumOfYear();break;??
  • ????????case?'h'?:partStr?=?myDate.getHours();break;??
  • ????????case?'n'?:partStr?=?myDate.getMinutes();break;??
  • ????????case?'s'?:partStr?=?myDate.getSeconds();break;??
  • ????}??
  • ????return?partStr;??
  • }??
  • ??
  • //+---------------------------------------------------??
  • //|?取得當前日期所在月的最大天數??
  • //+---------------------------------------------------??
  • Date.prototype.MaxDayOfDate?=?function()??
  • {???
  • ????var?myDate?=?this;??
  • ????var?ary?=?myDate.toArray();??
  • ????var?date1?=?(new?Date(ary[0],ary[1]+1,1));??
  • ????var?date2?=?date1.dateAdd(1,'m',1);??
  • ????var?result?=?dateDiff(date1.Format('yyyy-MM-dd'),date2.Format('yyyy-MM-dd'));??
  • ????return?result;??
  • }??
  • ??
  • //+---------------------------------------------------??
  • //|?取得當前日期所在周是一年中的第幾周??
  • //+---------------------------------------------------??
  • Date.prototype.WeekNumOfYear?=?function()??
  • {???
  • ????var?myDate?=?this;??
  • ????var?ary?=?myDate.toArray();??
  • ????var?year?=?ary[0];??
  • ????var?month?=?ary[1]+1;??
  • ????var?day?=?ary[2];??
  • ????document.write('<?script?language=VBScript\>?\n');??
  • ????document.write('myDate?=?DateValue(''+month+'-'+day+'-'+year+'')?\n');??
  • ????document.write('result?=?DatePart('ww',?myDate)?\n');??
  • ????document.write('?\n');??
  • ????return?result;??
  • }??
  • ??
  • //+---------------------------------------------------??
  • //|?字符串轉成日期類型???
  • //|?格式?MM/dd/YYYY?MM-dd-YYYY?YYYY/MM/dd?YYYY-MM-dd??
  • //+---------------------------------------------------??
  • function?StringToDate(DateStr)??
  • {???
  • ??
  • ????var?converted?=?Date.parse(DateStr);??
  • ????var?myDate?=?new?Date(converted);??
  • ????if?(isNaN(myDate))??
  • ????{???
  • ????????//var?delimCahar?=?DateStr.indexOf('/')!=-1?'/':'-';??
  • ????????var?arys=?DateStr.split('-');??
  • ????????myDate?=?new?Date(arys[0],--arys[1],arys[2]);??
  • ????}??
  • ????return?myDate;??
  • }?
  • 轉載于:https://www.cnblogs.com/linpengfeixgu/articles/1520749.html

    總結

    以上是生活随笔為你收集整理的js 时间和日期的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。