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

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. 是否遵守夏令时
2d422f7a2d1bcf4512fd58c68d2b6fa1.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/350117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

制杖题

题目描述 求不大于 m 的、 质因数集与给定质数集有交集的自然数之和。 输入格式 第一行二个整数 n,m。 第二行 n 个整数,表示质数集内的元素 p[i]。 输出格式 一个整数,表示答案,对 376544743 取模。 输入输出样例 输入 #1复制 2 …

煤矿安全规程专家解读2016电子版_【学习】煤矿安全规程专家解读(165)

点击蓝字关注我们第二编 井工部分第三百三十三条爆破前,必须加强对机器、液压支架和电缆等的保护或将其移出工作面。爆破前,班组长必须亲自布置专人在警戒线和可能进入爆破地点的所有通路上担任警戒工作。警戒人员必须在安全地点警戒。警戒线处应设置警…

DC / OS中具有Java和数据库应用程序的服务发现

该博客将展示一个简单的Java应用程序如何使用DC / OS中的服务发现与数据库进行对话。 为什么要进行服务发现? 应用程序通常由多个组件组成,例如应用程序服务器,数据库,Web服务器,缓存和消息传递服务器。 通常&#xf…

RAC环境下创建本地数据文件的解决方法

引用收藏:http://blog.itpub.net/501889/viewspace-1083311/ 同事不小心,在RAC环境下创建了本地数据文件,这个肯定会出问题的,节点2不能访问此数据文件。其实发现做错了,立马删掉应该没有问题。数据文件还没有数据。下…

诺基亚n1平板电脑刷机教程_【个人记事本】闲鱼购买平板的经历

今年由于疫情原因,国内开展了全体学生在家学习的模式,这就避免不了老师发一些课件,还有一些录课的视频等电子学习资料等。考虑到开学复习的便利性(平板比笔记本电脑更具有便携性,更方便)。所以,…

找出一个字符串中出现次数最多的字_487,重构字符串

想了解更多数据结构以及算法题,可以关注微信公众号“数据结构和算法”,每天一题为你精彩解答。问题描述给定一个字符串S,检查是否能重新排布其中的字母,使得两相邻的字符不同。若可行,输出任意可行的结果。若不可行&am…

一、数据设计规范

一、数据设计规范 1、表的前缀 1、表名称不应该取得太长(一般不超过三个英文单词。不推荐使用中文拼音,总的长度不要超过30个字符) 格式:Tbl_Wms_log 表示 表_Wms系统_log 好处:执行查询方式辨别SQL类别(T_表-Table、V_视图-View、S_存储过…

http缓存管理器_小心缓存管理器

http缓存管理器如果使用spring和JPA,则很有可能利用ehcache(或其他缓存提供程序)。 您可以在两种不同的情况下进行此操作:JPA 2级缓存和spring方法缓存。 配置应用程序时,通常会设置JPA提供程序的二级缓存提供程序&am…

cad线加粗怎么设置_AutoCAD2019怎么加粗线条 将不同线段加粗方法

AutoCAD2019是一款非常专业的制图软件,那有很多用户表示自己不知道这款软件怎么加粗线条,下面就通过这篇文章给大家介绍一下,一起往下看吧!如图所示,我用L命令绘制一根线段:,这根线段的宽度为默…

时间管理——你不可不知的3种时间管理方法

时间管理——你不可不知的3种时间管理方法 时间管理 英文名:Time Management   请问,如果每天都有86400元进入你的银行户头,而你必须当天用光,你会如何运用这笔钱?   天下真有这样的好事吗?   是的,…

python tkinter布局混用_[宜配屋]听图阁

这篇文章主要介绍了python tkinter控件布局项目实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下代码部分:from tkinter import *import tkinter.messagebox as messageboxclass Tkdemo():def __i…

ASP.NET中利用ashx实现图片防盗链

盗链的危害我就不说了,网上有很多。 直接分析盗链原理:看下面用httpwatch截获的http发送的数据 GET /Img.ashx?imgsvn_work.gif HTTP/1.1 Accept: */* Referer: http://www.svnhost.cn/ Accept-Language: zh-cn UA-CPU: x86 Accept-Encoding: gzip, def…

适用于Java开发人员的Elasticsearch:Java的Elasticsearch

本文是我们学院课程的一部分,该课程的标题为Java开发人员的Elasticsearch教程 。 在本课程中,我们提供了一系列教程,以便您可以开发自己的基于Elasticsearch的应用程序。 我们涵盖了从安装和操作到Java API集成和报告的广泛主题。 通过我们简…

matlab 日期排序_MATLAB时间序列的排序函数

sort功能:对时间序列x进行排序。格式:m sort(x, mode) % 当参数mode‘ascend’,表示对x进行升序重排;当mode‘descend’,表示降序重排wrev功能:得到时间序列x的逆序。格式:m wrev(x)如>>…

c标签foreach遍历list_遍历 Dictionary,你会几种方式?

一:背景 1. 讲故事昨天在 StackOverflow 上看到一个很有趣的问题,说: 你会几种遍历字典的方式,然后跟帖就是各种奇葩的回答,挺有意思,马上就要国庆了,娱乐娱乐吧,说说这种挺无聊的问题???。二…

[HDU 4666]Hyperspace[最远曼哈顿距离][STL]

题意: 许多 k 维点, 求这些点之间的最远曼哈顿距离. 并且有 q 次操作, 插入一个点或者删除一个点. 每次操作之后均输出结果. 思路: 用"疑似绝对值"的思想, 维护每种状态下各点的计算值, 插入或删除一个点就更新一次每种状态(用 multiset 或 map 或 priority_queue 实…

过滤器匹配符包含单词_Hamcrest包含匹配器

过滤器匹配符包含单词与Hamcrest 1.2相比 ,针对Matchers类的Hamcrest 1.3 Javadoc文档为该类的几种方法添加了更多文档。 例如,四个重载的contains方法具有更具描述性的Javadoc文档,如下面所示的两个比较屏幕快照所示。 尽管仅通过尝试就可以…

linux配置4g网络命令_树莓派移动网络连接(配置4G网卡)

1、识别上网卡使用命令lsusb,如果能够识别则可以继续往下。2、安装网卡驱动程序上网卡一般都会带有2个功能,一个是虚拟光驱,用来安装驱动程序;另一个是进行网络连接的modem。在Linux下,需要安装usb-modeswitch驱动程序…

Hibernate 配置详解(5)

9) hibernate.batch_fetch_style: 该配置是hibernate4.2.0新添加的,使用这个设置可以配置hibernate在做batch-fetch的时候,生成SQL的策略。该配置项的可选值为org.hibernate.loader.BatchFetchStyle这个枚举类型中的可选值。所以,目前有三个选…

使用HazelCast进行休眠缓存:JPA缓存基础知识

HazelCast的最大功能之一就是对hibernate二级缓存的支持 。 JPA具有两个级别的缓存。 一级缓存在事务期间缓存对象的状态。 通过查询相同的对象两次,您必须获得第一次获取的对象。 但是,在包含您检索到的对象并访问数据库的复杂查询的情况下&#xff…