Datejs 是一个开源的JavaScript库,用来解析、格式化和处理日期数据,支持多种语言的日期格式处理;官网:www.da
Moment.js 是一个简单易用的轻量级JavaScript日期处理类库,提供了日期格式化、日期解析等功能。它支持在浏览器和NodeJS两种环境中运行;
date-fns库:
现代 JavaScript 日期实用程序库。date-fns 提供了最全面,最简单和一致的工具集,用于在浏览器和 Node.js 中操作 JavaScript 日期;官网:da
Prettydate 是一个 jQuery 用来显示一些用户友好的日期格式的插件,例如Posted 2 days ago by John Resig;
Countdown是jQuery的一个用于显示倒计时的插件;
XDate是一个对Javascirpt本地Date对象的轻度包装,它提供对日期的解析、格式化以及其他操作的较强功能;
DP_DateExtensions库继承了JavaScript的Date对象,并添加了一些新特性和功能。
组件类:
layDate 日期与时间组件,layDate 是 layui 独立维护的三大组件之一;官网:www.layui.com/laydate/
Datejs 日期库:是一个开源的JavaScript库,用来解析、格式化和处理日期数据,支持多种语言的日期格式处理;
官网:www.da
基本用法:
// 返回今天的日期,时间设置为00:00(一天的开始) con().toString("yyyy-MM-d HH:m:s")); //返回下一个星期五的日期 con().next().friday().toString("yyyy-MM-d HH:m:s")); Da().last().monday() //返回上一个星期一的日期 new Date().next().march() //返回下一个三月的日期。 new Date().last().week() //返回一周前的日期。 Da().is().friday() //如果星期几匹配,则返回true | false. Da().is().fri() //缩写的日期名称. Da().is().november() //月名称 Da().is().nov() //月份的缩写. Da().is().weekday() //今天是工作日吗? Da().addDays(1); //添加一天(+1) Da().addMonths(-3); //减去三个月内(-3) //添加一(+1)天。支持所有日期部分(年,月,日,时,分,秒,毫秒和周) Da().add(1).day(); Da().add(-3).months(); //减去三(-3)个月 // (1).day().fromNow() //从现在起一(1)天。 // (3).months().ago() //三(3)个月前。 var n = 6; con().fromNow().toString('d')); //从现在起六(6)个月。 Da(); //返回当前星期的星期一。 Da(); // Da()的缩写版本 Da(); //返回今年3月1日。 Da(); // Da()的缩写版本 Da().first().thursday(); //返回当年3月的第一个星期四。 Da().second().thursday();//返回当前月份的第二个星期四。 Da().third().thursday(); //返回当年3月的第三个星期四。 Da().fourth().sunday();//返回十月的第四个星期日。 //返回当前月份的第五个星期日,如果当前月份没有5个星期日,则抛出RangeError异常。 // Da().fifth().sunday(); Da().final().sunday(); //返回十月的最后一个星期日。 Da().first().monday(); //返回当年的第一个星期一。 Da().final().friday();//返回当年的最后一个星期五。 Da().at("6:15pm"); //返回今天的日期为6:15 pm。 var time = {hour:18, minute:15}; Da().at(time); //使用配置对象设置时间。 var birthDayParty = {month: 1, day: 20, hour: 20, minute: 30}; Da().set(birthDayParty);//使用配置对象设置日期和时间。
日期解析转换:
Da("t"); //返回今天的日期 Da("today"); //返回今天的日期。 Da("tomorrow"); //返回明天的日期 Da("yesterday"); //返回昨天的日期 Da("next friday"); //返回下一个星期五的日期 Da("last monday"); //返回上一个星期一的日期。 Da("July 8th, 2004"); // 2004年7月8日星期四 Da("15-Jan-2004"); // 2004年1月15日星期四 Da("7/1/2004"); // 2004年7月1日星期四 Da("7.1.2004"); // 2004年7月1日星期四 Da("07.15.04"); // 2004年7月15日星期四 Da("July 23rd 2004"); //周五2004年7月23日 Da("Sat July 3, 2004"); // 2004年7月3日星期六 Da("10:30 PM EST"); // 2007年10月31日星期三20:30:00 Da("10PM"); // 2007年10月31日星期三22:00:00 Da("t + 5d"); //将5天加到今天 Da("today - 1 month"); //从今天开始减去1个月 Da("+"); //将1天添加到今天=明天 Da("- 3months"); //减去3个月 Da("+1year"); //在今天加上一年 Da("-12 months"); //从今天起减去12个月(1年) Da("July 4th"); //今年7月4日 Da("15"); //当前月份/年份的第15天 Da("July 8th, 2004, 10:30 PM");// 2004年7月8日,星期四 Da("2004-07-15T06:45:00"); // 2004年7月15日星期四 Da("Thu, 1 July 2004 22:30:00 GMT");//星期四,2004年7月1日16:30:00 Da("1997-07-16T19:20:15"); // ISO 8601格式 Da("1997-07-16T19:20:30+01:00");//具有时区偏移 Da("1985-04-12T23:20:50Z"); // RFC 3339格式
链接操作:
//添加1个月零5天,然后检查该日期是否为星期五 Da().add({ months: 1, days: 5 }).is().fri(); //输入日期,然后移至下一个星期五,减去一个月 Da("10-July-2004").next().friday().add(-1).month();
日期比较:
Da().equals( Da("today")); // true|false Da("last Tues").equals()); // true|false Da(), Da("today")); // true|false Da(), Da("today")); // 1 = greater, -1 = less than, Da().compareTo(Da("yesterday")); // 1 = greater, -1 = less than, 0 = equal Da().between(startDate, endDate); // true|false
转换为字符串:
注意该format参数对于该.toString()功能是可选的。如果未提供format,.toString()则将调用本地JavaScript Date 函数。
标准日期和时间格式说明符
- s:分钟介于0到59之间的秒数,如:0 to 59
- ss:如果需要,分钟的秒数,前导零,如:00 to 59
- m:每小时的分钟数,介于0到59之间,如:0 or 59
- mm:每小时的分钟,前导零(如果需要),如:00 to 59
- h:1到12之间的一天中的小时,如:1 to 12
- hh:如果需要,一天中的小时数,前导零,如:01 to 12
- H:0-23之间的一天中的小时,如:0 to 23
- HH:如果需要,一天中的小时数,前导零,如:00 to 23
- d:每月的1到31之间的日期,如:1 to 31
- dd:如果需要的话,该月的某天前导零。如:01 to 31
- ddd:缩写的天名,如:Mon to Sun
- dddd:全日名称,如:Monday to Sunday
- M:一年中的1-12点之间的月份,如:1 to 12
- MM:一年中的前导零(如果需要),如:01 to 12
- MMM:缩写的月份名称,如:Jan to Dec
- MMMM:完整的月份名称,如:January to December
- yy:将年份显示为两位数,如:99 or 07
- yyyy:显示完整的四位数年份,如:1999 or 2007
- t:显示AM / PM指示符的第一个字符,如:A or P
- tt:显示AM / PM指示符,如:AM or PM
- S:当日的序数后缀,如: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日格林尼治标准时间0700(太平洋夏令时间) new Date().toString("M/d/yyyy"); //2007年10月31日 Da().toString("d-MMM-yyyy"); //2007年10月31日 new Date().toString("HH:mm"); // 16:18 Da().toString("MMMM dS, yyyy"); // April 12th, 2008 Da().toShortDateString();// "10/31/2007". 根据Da特定于区域性 Da().toLongDateString();// "Wednesday, October 31, 2007". 根据Da特定于区域性 new Date().toShortTimeString();// "4:18 PM". 根据Da特定于区域性 new Date().toLongTimeString();// "4:18:34 PM". 根据Da特定于区域性
核心用法:
//将日期设置为当前月份和年份的15号; //其他对象值包括year|month|day|hour|minute|second。 Da().set({ day: 15 }); Da().set({ year: 2007, month: 1, day: 20 }); //将Date添加2天。其他对象值包括 year|month|day|hour|minute|second. Da().add({ days: 2 }); Da().add({ years: -1, months: 6, hours: 3 }); Da().addYears(1); //增加1年 Da().addMonths(-2); //相减2个月 Da().addWeeks(1); //增加1周 Da().addDays(4); //增加4天 Da().addHours(6); //增加6小时 Da().addMinutes(-30); //相减30分钟 Da().addSeconds(15); //增加15秒 Da().addMilliseconds(200); //增加200毫秒 Da().moveToFirstDayOfMonth();//返回当前月份的第一天 Da().moveToLastDayOfMonth();//返回当前月份的最后一天 new Date().clearTime(); //将时间设置为00:00(一天的开始) Da().setTimeToNow();//将时间重置为当前时间;与clearTime()的功能相反
ISO 8601:
- Da("\"1997-07-16T19:20:15\"");//解析ISO 8601字符串
- new Date().toISOString();//将日期转换为ISO 8601字符串
- Da().getISOWeek();//获取UTC转换的ISO周编号
其他用法:
Da("March");// 2-特定于CultureInfo。<static> Da("sat");// 6-特定于CultureInfo。<静态> Da(2008) // true|false. <static> Da(2007, 9) // 31 <static> Da().getWeek();//返回一年中的第几周。根据年份Date 返回1到(52 | 53) Da().setWeek(1); //将一年中的星期几设置为星期几 var test = new Date(); // Do something... like run a test... (); //返回距现在的毫秒数 Da().isDaylightSavingTime();// true|false. 在夏令时之内 Da().hasDaylightSavingTime();// true|false. 是否遵守夏令时
Web前端开发之Javascript-零点程序员-王唯