Datejs 是一个开源的JavaScript库,用来解析、格式化和处理日期数据,支持多种语言的日期格式处理;官网:www.datejs.com/

Moment.js 是一个简单易用的轻量级JavaScript日期处理类库,提供了日期格式化、日期解析等功能。它支持在浏览器和NodeJS两种环境中运行;

date-fns库:

现代 JavaScript 日期实用程序库。date-fns 提供了最全面,最简单和一致的工具集,用于在浏览器和 Node.js 中操作 JavaScript 日期;官网:date-fns.org

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.datejs.com/

基本用法:

// 返回今天的日期,时间设置为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); //减去三个月内(-3) //添加一(+1)天。支持所有日期部分(年,月,日,时,分,秒,毫秒和周)Date.today().add(1).day();Date.today().add(-3).months();   //减去三(-3)个月 // (1).day().fromNow()             //从现在起一(1)天。// (3).months().ago()              //三(3)个月前。 var n = 6;console.log(n.months().fromNow().toString('d'));     //从现在起六(6)个月。 Date.monday();                   //返回当前星期的星期一。Date.mon();                      // Date.monday()的缩写版本 Date.march();                    //返回今年3月1日。Date.mar();                      // Date.march()的缩写版本 Date.today().first().thursday(); //返回当年3月的第一个星期四。Date.today().second().thursday();//返回当前月份的第二个星期四。 Date.march().third().thursday(); //返回当年3月的第三个星期四。Date.october().fourth().sunday();//返回十月的第四个星期日。 //返回当前月份的第五个星期日,如果当前月份没有5个星期日,则抛出RangeError异常。// Date.today().fifth().sunday();Date.october().final().sunday(); //返回十月的最后一个星期日。 Date.january().first().monday(); //返回当年的第一个星期一。Date.december().final().friday();//返回当年的最后一个星期五。 Date.today().at("6:15pm");      //返回今天的日期为6:15 pm。 var time = {hour:18, minute:15};Date.today().at(time);          //使用配置对象设置时间。 var birthDayParty = {month: 1, day: 20, hour: 20, minute: 30};Date.today().set(birthDayParty);//使用配置对象设置日期和时间。

日期解析转换:

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");   //当前月份/年份的第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");//具有时区偏移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

转换为字符串:

注意该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日 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". 根据Date.CultureInfo.shortDatePattern特定于区域性Date.today().toLongDateString();// "Wednesday, October 31, 2007". 根据Date.CultureInfo.longDatePattern特定于区域性 new Date().toShortTimeString();// "4:18 PM". 根据Date.CultureInfo.shortTimePattern特定于区域性new Date().toLongTimeString();// "4:18:34 PM". 根据Date.CultureInfo.longTimePattern特定于区域性

核心用法:

//将日期设置为当前月份和年份的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();//返回当前月份的第一天Date.today().moveToLastDayOfMonth();//返回当前月份的最后一天 new Date().clearTime(); //将时间设置为00:00(一天的开始)Date.today().setTimeToNow();//将时间重置为当前时间;与clearTime()的功能相反

ISO 8601:

  • Date.parse(""1997-07-16T19:20:15"");//解析ISO 8601字符串
  • new Date().toISOString();//将日期转换为ISO 8601字符串
  • Date.today().getISOWeek();//获取UTC转换的ISO周编号

其他用法:

Date.getMonthNumberFromName("March");// 2-特定于CultureInfo。Date.getDayNumberFromName("sat");// 6-特定于CultureInfo。Date.isLeapYear(2008)                  // true|false. Date.getDaysInMonth(2007, 9)           // 31 Date.today().getWeek();//返回一年中的第几周。根据年份Date 返回1到(52 | 53)Date.today().setWeek(1);    //将一年中的星期几设置为星期几var test = new Date(); // Do something... like run a test...test.getElapsed();  //返回距现在的毫秒数Date.today().isDaylightSavingTime();// true|false. 在夏令时之内Date.today().hasDaylightSavingTime();// true|false. 是否遵守夏令时

Web前端开发之Javascript-零点程序员-王唯

date javascript 时区_第23节 Datejs 日期库-Web前端开发之Javascript-零点程序员-王唯相关推荐

  1. web前端开发之JavaScript

    文章目录 一.JavaScript 简介 1. 为什么学习 JavaScript? 2. JavaScript 组成 3. 引入方式 3.1 内部方式 3.2 外部方式 3.3 行内方式 4. 注释 ...

  2. BCSP-玄子前端开发之JavaScript+jQuery入门CH13_表单校验

    BCSP-玄子前端开发之JavaScript+jQuery入门CH13_表单校验 4.13 表单验证 4.13.1 为什么要表单验证 保证输入的数据符合要求 减轻服务器的压力 [外链图片转存失败,源站 ...

  3. BCSP-玄子前端开发之JavaScript+jQuery入门CH02_JavaScript函数

    BCSP-玄子前端开发之JavaScript+jQuery入门CH02_JavaScript函数 4.2 函数 4.2.1 什么是函数 类似于Java中的方法,是完成特定任务的代码语句块 特点 使用更 ...

  4. 前端开发之JavaScript基础篇一

    主要内容: 1.JavaScript介绍 2.JavaScript的引入方法和输出及注释 3.javaScript变量和命名规则 4.五种基本数据类型 5.运算符 6.字符串处理 7.数据类型转换   ...

  5. 2021/10/31 前端开发之JavaScript+jQuery入门 第十二章jQuery事件与动画

    目录 1.jQuery中的事件 1.1 事件的组成 1.2 基础事件 2.载入事件 3.鼠标事件 4.键盘事件 5.浏览器事件 6.表单事件 7.绑定事件 8.移除事件 9.复合事件 10.控制元素显 ...

  6. 前端开发之JavaScript基础篇四

    主要内容: 1.定时器 2.正则表达式入门 3.元字符 4.正则表达式实战运用 一.定时器 javaScript里主要使用两种定时器,分别是:setInterval()和setTimeout(). 1 ...

  7. 2021/11/1 前端开发之JavaScript+jQuery入门 第十三章表单效验

    目录 1.JavaScript验证表单内容 2.表单选择器 3.表单属性过滤选择器 4.正则表达式 4.1 正则表达式的定义 4.2 表达式规则 4.3 正则表达式的使用方式 5.HTML5表单验证 ...

  8. web前端知识集合——javascript基础篇之常量和变量(二)

    3. 变量和常量: 1.1 变量的声明: js三种方式声明变量,声明不赋值时,默认值为underfined. (1)var声明:var name='Ace',同时声明多个变量var a=1,b=2,c ...

  9. web前端知识集合——javascript基础篇之javascript背景历史和运行环境(一)

    前言:温故而知新,可以为长也!万变不离其宗,无论是现在web前端技术衍生出多么优秀,好用的框架,插件,都离不开这门语言的基础知识.掌握各种优秀的框架,插件,只是"善用工具的人",深 ...

最新文章

  1. java获取date的时分秒_Java 之 Date 获取 年月日时分秒
  2. html 标签开发,前端开发入门之HTML基础标签一
  3. Office 365管理员指引 17——Sharepoint 讨论版
  4. ansible(自动化运维下)——yaml语言,Role-角色扮演
  5. javascript之正则表达式
  6. nodejs版本更新问题:express不是内部或外部命令
  7. WebSocket 对象简介
  8. python 无法初始化设备prn_彻底搞懂Python一切皆对象,面试必过
  9. django之开发环境关于settins.py里面的DEBUG的设置和静态文件的关系
  10. mysql压测宕机_MySQL压测时Linux中断异常飚高,原来是因为...
  11. PPT达人速成记 WPS三步打造演示母版
  12. php日历表代码,PHP输出日历表代码实例
  13. 阿里巴巴四十大盗计算机病毒,泄密 阿里巴巴和四十大盗 全文 - 故事365
  14. 华为机试OD真题 javaScript和java 叠积木 堆积木
  15. 如何关闭谷歌浏览器阅读清单(新方法)
  16. 决赛巅峰之战落幕,第二届翼支付杯大数据建模大赛完美收官
  17. 扫地机器人的“新故事”,从“第三次革命”开始
  18. C语言if( x)的意思,c语言 if(!x)中条件!x是什么意思
  19. java实现购物券消费方案
  20. [渝粤教育] 郑州工程技术学院 大学计算机基础 参考 资料

热门文章

  1. 新手学C语言会踩到什么样的坑?
  2. c语言实验报告5数组,c语言实验报告五一维数组.doc
  3. 工业交换机在城市智慧轨道交通中的应用分析
  4. 工业交换机与工业路由器的区别
  5. PCM设备在电网系统中的应用介绍
  6. 8口网管型工业以太网交换机产品性能介绍
  7. 网络交换机3大常见故障问题
  8. E1光端机和2M光端机有什么区别?
  9. 【渝粤教育】电大中专幼儿园课程论 (8)作业 题库
  10. 【渝粤教育】电大中专沟通技巧作业 题库