javascript
date javascript 时区_第23节 Datejs 日期库-Web前端开发之Javascript-零点程序员-王唯
Datejs 是一個開源的JavaScript庫,用來解析、格式化和處理日期數(shù)據(jù),支持多種語言的日期格式處理;官網(wǎng):www.datejs.com/
Moment.js 是一個簡單易用的輕量級JavaScript日期處理類庫,提供了日期格式化、日期解析等功能。它支持在瀏覽器和NodeJS兩種環(huán)境中運(yùn)行;
date-fns庫:
現(xiàn)代 JavaScript 日期實用程序庫。date-fns 提供了最全面,最簡單和一致的工具集,用于在瀏覽器和 Node.js 中操作 JavaScript 日期;官網(wǎng):date-fns.org
Prettydate 是一個 jQuery 用來顯示一些用戶友好的日期格式的插件,例如Posted 2 days ago by John Resig;
Countdown是jQuery的一個用于顯示倒計時的插件;
XDate是一個對Javascirpt本地Date對象的輕度包裝,它提供對日期的解析、格式化以及其他操作的較強(qiáng)功能;
DP_DateExtensions庫繼承了JavaScript的Date對象,并添加了一些新特性和功能。
組件類:
layDate 日期與時間組件,layDate 是 layui 獨(dú)立維護(hù)的三大組件之一;官網(wǎng):www.layui.com/laydate/
Datejs 日期庫:是一個開源的JavaScript庫,用來解析、格式化和處理日期數(shù)據(jù),支持多種語言的日期格式處理;
官網(wǎng):www.datejs.com/
基本用法:
//?返回今天的日期,時間設(shè)置為00:00(一天的開始)console.log(Date.today().toString("yyyy-MM-d?HH:m:s"));???//返回下一個星期五的日期console.log(Date.today().next().friday().toString("yyyy-MM-d?HH:m:s"));Date.today().last().monday()????//返回上一個星期一的日期?new?Date().next().march()???????//返回下一個三月的日期。new?Date().last().week()????????//返回一周前的日期。?Date.today().is().friday()??????//如果星期幾匹配,則返回true?|?false.Date.today().is().fri()?????????//縮寫的日期名稱.??Date.today().is().november()????//月名稱Date.today().is().nov()?????????//月份的縮寫.?Date.today().is().weekday()?????//今天是工作日嗎??Date.today().addDays(1);????//添加一天(+1)Date.today().addMonths(-3);?//減去三個月內(nèi)(-3)?//添加一(+1)天。支持所有日期部分(年,月,日,時,分,秒,毫秒和周)Date.today().add(1).day();Date.today().add(-3).months();???//減去三(-3)個月?//?(1).day().fromNow()?????????????//從現(xiàn)在起一(1)天。//?(3).months().ago()??????????????//三(3)個月前。?var?n?=?6;console.log(n.months().fromNow().toString('d'));?????//從現(xiàn)在起六(6)個月。?Date.monday();???????????????????//返回當(dāng)前星期的星期一。Date.mon();??????????????????????//?Date.monday()的縮寫版本?Date.march();????????????????????//返回今年3月1日。Date.mar();??????????????????????//?Date.march()的縮寫版本?Date.today().first().thursday();?//返回當(dāng)年3月的第一個星期四。Date.today().second().thursday();//返回當(dāng)前月份的第二個星期四。?Date.march().third().thursday();?//返回當(dāng)年3月的第三個星期四。Date.october().fourth().sunday();//返回十月的第四個星期日。?//返回當(dāng)前月份的第五個星期日,如果當(dāng)前月份沒有5個星期日,則拋出RangeError異常。//?Date.today().fifth().sunday();Date.october().final().sunday();?//返回十月的最后一個星期日。?Date.january().first().monday();?//返回當(dāng)年的第一個星期一。Date.december().final().friday();//返回當(dāng)年的最后一個星期五。?Date.today().at("6:15pm");??????//返回今天的日期為6:15?pm。?var?time?=?{hour:18,?minute:15};Date.today().at(time);??????????//使用配置對象設(shè)置時間。?var?birthDayParty?=?{month:?1,?day:?20,?hour:?20,?minute:?30};Date.today().set(birthDayParty);//使用配置對象設(shè)置日期和時間。日期解析轉(zhuǎn)換:
Date.parse("t");????//返回今天的日期Date.parse("today");????//返回今天的日期。Date.parse("tomorrow");?//返回明天的日期Date.parse("yesterday");????//返回昨天的日期?Date.parse("next?friday");??//返回下一個星期五的日期Date.parse("last?monday");??//返回上一個星期一的日期。?Date.parse("July?8th,?2004");???//?2004年7月8日星期四Date.parse("15-Jan-2004");??//?2004年1月15日星期四?Date.parse("7/1/2004");?//?2004年7月1日星期四Date.parse("7.1.2004");?//?2004年7月1日星期四Date.parse("07.15.04");?//?2004年7月15日星期四?Date.parse("July?23rd?2004");???//周五2004年7月23日Date.parse("Sat?July?3,?2004");?//?2004年7月3日星期六?Date.parse("10:30?PM?EST");?//?2007年10月31日星期三20:30:00Date.parse("10PM");?//?2007年10月31日星期三22:00:00?Date.parse("t?+?5d");???//將5天加到今天Date.parse("today?-?1?month");??//從今天開始減去1個月?Date.parse("+");????//將1天添加到今天=明天Date.parse("-?3months");????//減去3個月?Date.parse("+1year");???//在今天加上一年Date.parse("-12?months");???//從今天起減去12個月(1年)?Date.parse("July?4th");?//今年7月4日Date.parse("15");???//當(dāng)前月份/年份的第15天?Date.parse("July?8th,?2004,?10:30?PM");//?2004年7月8日,星期四Date.parse("2004-07-15T06:45:00");??//?2004年7月15日星期四Date.parse("Thu,?1?July?2004?22:30:00?GMT");//星期四,2004年7月1日16:30:00?Date.parse("1997-07-16T19:20:15");??//?ISO?8601格式Date.parse("1997-07-16T19:20:30+01:00");//具有時區(qū)偏移Date.parse("1985-04-12T23:20:50Z");?//?RFC?3339格式鏈接操作:
//添加1個月零5天,然后檢查該日期是否為星期五Date.today().add({?months:?1,?days:?5?}).is().fri();//輸入日期,然后移至下一個星期五,減去一個月Date.parse("10-July-2004").next().friday().add(-1).month();日期比較:
Date.today().equals(?Date.parse("today"));??//?true|falseDate.parse("last?Tues").equals(Date.today());???//?true|false?Date.equals(Date.today(),?Date.parse("today"));?//?true|falseDate.compare(Date.today(),?Date.parse("today"));????//?1?=?greater,?-1?=?less?than,??Date.today().compareTo(Date.parse("yesterday"));????//?1?=?greater,?-1?=?less?than,?0?=?equalDate.today().between(startDate,?endDate);???//?true|false轉(zhuǎn)換為字符串:
注意該format參數(shù)對于該.toString()功能是可選的。如果未提供format,.toString()則將調(diào)用本地JavaScript Date 函數(shù)。
標(biāo)準(zhǔn)日期和時間格式說明符
- s:分鐘介于0到59之間的秒數(shù),如:0 to 59
- ss:如果需要,分鐘的秒數(shù),前導(dǎo)零,如:00 to 59
- m:每小時的分鐘數(shù),介于0到59之間,如:0 or 59
- mm:每小時的分鐘,前導(dǎo)零(如果需要),如:00 to 59
- h:1到12之間的一天中的小時,如:1 to 12
- hh:如果需要,一天中的小時數(shù),前導(dǎo)零,如:01 to 12
- H:0-23之間的一天中的小時,如:0 to 23
- HH:如果需要,一天中的小時數(shù),前導(dǎo)零,如:00 to 23
- d:每月的1到31之間的日期,如:1 to 31
- dd:如果需要的話,該月的某天前導(dǎo)零。如:01 to 31
- ddd:縮寫的天名,如:Mon to Sun
- dddd:全日名稱,如:Monday to Sunday
- M:一年中的1-12點(diǎn)之間的月份,如:1 to 12
- MM:一年中的前導(dǎo)零(如果需要),如:01 to 12
- MMM:縮寫的月份名稱,如:Jan to Dec
- MMMM:完整的月份名稱,如:January to December
- yy:將年份顯示為兩位數(shù),如:99 or 07
- yyyy:顯示完整的四位數(shù)年份,如:1999 or 2007
- t:顯示AM / PM指示符的第一個字符,如:A or P
- tt:顯示AM / PM指示符,如:AM or PM
- S:當(dāng)日的序數(shù)后綴,如:st, nd, rd, or th
自定義日期和時間格式說明符
- d:shortDate格式模式,如:M/d/yyyy
- D:longDate 格式模式,如:dddd, MMMM dd, yyyy
- F:fullDateTime 格式模式,如:dddd, MMMM dd, yyyy h:mm:ss tt
- m:monthDay 格式模式,如:MMMM dd
- r:rfc1123 格式模式,如:ddd, dd MMM yyyy HH:mm:ss GMT
- s:sortableDateTime 格式模式,如:yyyy-MM-ddTHH:mm:ss
- t:shortTime 格式模式,如:h:mm tt
- T:longTime 格式模式,如:h:mm:ss tt
- u:universalSortableDateTime 格式模式,如:yyyy-MM-dd HH:mm:ssZ
- y:yearMonth 格式模式,如:MMMM, yyyy
分隔符:
/ 正斜杠、空格、- 連字號、逗號
new?Date().toString();??//星期三2007年10月31日格林尼治標(biāo)準(zhǔn)時間0700(太平洋夏令時間)new?Date().toString("M/d/yyyy");????//2007年10月31日?Date.today().toString("d-MMM-yyyy");????//2007年10月31日new?Date().toString("HH:mm");???????????//?16:18?Date.today().toString("MMMM?dS,?yyyy");?//?April?12th,?2008?Date.today().toShortDateString();//?"10/31/2007".?根據(jù)Date.CultureInfo.shortDatePattern特定于區(qū)域性Date.today().toLongDateString();//?"Wednesday,?October?31,?2007".?根據(jù)Date.CultureInfo.longDatePattern特定于區(qū)域性?new?Date().toShortTimeString();//?"4:18?PM".?根據(jù)Date.CultureInfo.shortTimePattern特定于區(qū)域性new?Date().toLongTimeString();//?"4:18:34?PM".?根據(jù)Date.CultureInfo.longTimePattern特定于區(qū)域性核心用法:
//將日期設(shè)置為當(dāng)前月份和年份的15號;//其他對象值包括year|month|day|hour|minute|second。Date.today().set({?day:?15?});Date.today().set({?year:?2007,?month:?1,?day:?20?});//將Date添加2天。其他對象值包括?year|month|day|hour|minute|second.Date.today().add({?days:?2?});Date.today().add({?years:?-1,?months:?6,?hours:?3?});Date.today().addYears(1);???//增加1年Date.today().addMonths(-2);?//相減2個月Date.today().addWeeks(1);???//增加1周Date.today().addDays(4);????//增加4天Date.today().addHours(6);???//增加6小時Date.today().addMinutes(-30);???//相減30分鐘Date.today().addSeconds(15);????//增加15秒Date.today().addMilliseconds(200);??//增加200毫秒?Date.today().moveToFirstDayOfMonth();//返回當(dāng)前月份的第一天Date.today().moveToLastDayOfMonth();//返回當(dāng)前月份的最后一天?new?Date().clearTime();?//將時間設(shè)置為00:00(一天的開始)Date.today().setTimeToNow();//將時間重置為當(dāng)前時間;與clearTime()的功能相反ISO 8601:
- Date.parse(""1997-07-16T19:20:15"");//解析ISO 8601字符串
- new Date().toISOString();//將日期轉(zhuǎn)換為ISO 8601字符串
- Date.today().getISOWeek();//獲取UTC轉(zhuǎn)換的ISO周編號
其他用法:
Date.getMonthNumberFromName("March");//?2-特定于CultureInfo。Date.getDayNumberFromName("sat");//?6-特定于CultureInfo。Date.isLeapYear(2008)??????????????????//?true|false.?Date.getDaysInMonth(2007,?9)???????????//?31?Date.today().getWeek();//返回一年中的第幾周。根據(jù)年份Date?返回1到(52?|?53)Date.today().setWeek(1);????//將一年中的星期幾設(shè)置為星期幾var?test?=?new?Date();?//?Do?something...?like?run?a?test...test.getElapsed();??//返回距現(xiàn)在的毫秒數(shù)Date.today().isDaylightSavingTime();//?true|false.?在夏令時之內(nèi)Date.today().hasDaylightSavingTime();//?true|false.?是否遵守夏令時Web前端開發(fā)之Javascript-零點(diǎn)程序員-王唯
總結(jié)
以上是生活随笔為你收集整理的date javascript 时区_第23节 Datejs 日期库-Web前端开发之Javascript-零点程序员-王唯的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: echarts的tree怎么控制位置_自
- 下一篇: 煤矿安全规程专家解读2016电子版_【学