moment、dayjs、date-fns 是三个较为广泛使用的时间库。
三个库的安装分别如下:
npm install moment
npm install dayjs
npm install date-fns
在页面引入:
<script src="/node_modules/moment/min/moment.min.js"></script>
<script src="/node_modules/dayjs/dayjs.min.js"></script>
<!-- date-fns 不支持全局引入 -->
moment:
moment(); // 当前时间
moment(new Date()); // 根据Date对象创建
moment("2018-07-04 15:16:45.869"); // 根据字符串创建
moment("2018-07-04 15:16:45.869", "YYYY-MM-DD HH:mm:ss.SSS"); // 根据字符串创建(推荐)
moment('2018-07-04T07:16:45.869Z'); // 根据JSON格式创建
moment(1530688605869); // 根据毫秒创建
dayjs:
dayjs(); // 当前时间
dayjs(new Date()); // 根据Date对象创建
dayjs("2018-07-04 15:16:45.869"); // 根据字符串创建
dayjs('2018-07-04T07:16:45.869Z'); // 根据JSON格式创建
dayjs(1530688605869); // 根据毫秒创建
date-fns:
import { parse } from 'date-fns';
parse(new Date()); // 根据Date对象创建
parse("2018-07-04 15:16:45.869"); // 根据字符串创建
parse('2018-07-04T07:16:45.869Z'); // 根据JSON格式创建
parse(1530688605869); // 根据毫秒创建
moment:
moment().add(7, 'day'); // 增大7天
moment().subtract(7, 'year'); // 减小7年
moment().startOf('week'); // 当前的星期一
moment().endOf('month'); // 当前的月末
dayjs:
dayjs().add(7, 'day'); // 增大7天
dayjs().subtract(7, 'year'); // 减小7年
dayjs().startOf('week'); // 当前的星期一
dayjs().endOf('month'); // 当前的月末
date-fns:
import { parse, addDays, subYears, startOfWeek, endOfMonth } from 'date-fns';
const date = new Date();
addDays(date, 7); // 增大7天
subYears(date, 7); // 减小7年
startOfWeek(date); // 当前的星期一
endOfMonth(date); // 当前的月末
moment:
moment().format('YYYY-MM-DD HH:mm:ss');
dayjs:
dayjs().format();
date-fns:
format(new Date(), 'yyyy-MM-dd HH:mm:ss');
moment、dayjs、date-fns三个库都能满足常见的需求,但是存在如下特点:
从功能上看,dayjs、date-fns 基本上可以替代moment,同时可以大幅减小app的体积。如果考虑的兼容性,可以优先考虑dayjs,喜欢模块化的朋友可以考虑date-fns。
在日期格式化时遇到的问题,日期格式化方法在最下面。如果在中国时区 formatDate(‘2019-07-09‘) 结果是 ‘2019-07-09’,如果 在夏威夷时区 utc-10:00 或者别的时区 formatDate(‘2019-07-09‘) 结果是 ‘2019-07-08’
为了更好的讲这节的内容,提示一个 JS 处理日期的小技巧,想获取上个月最后一天,只需要设置SetDate参数为0即可。使用 JS 获取当前月的最后一天,咱们通常的思路先获取下个月的第一天
我们这里来获取今天所在星期的始末日期,我们可以通过(new Date).getDay()来获取今天是星期几,然后再通过这个减去或者加上一定的天数,就是这个星期的开始日期和结束日期。
用vue取值页面遍历时,每次都搜索js日期格式化和字符串长度截取,这次记录下来,以后从这里直接拿即可。html代码如下
javascript中的内置对象是我们经常会用到的,那么今天我们就来说说Date的四种构造方法吧,new Date()这是我们最常使用也最熟悉不过的Date对象的构造方法了,通过无参数的构造函数我们可以默认获取到一个代表实例化时的Date对象
我们这里来获取今天所在星期的始末日期,我们可以通过(new Date).getDay()来获取今天是星期几,然后再通过这个减去或者加上一定的天数,就是这个星期的开始日期和结束日期。
ElementUI是饿了么推出的一套基于vue2.x的一个ui框架。官方文档也很详细,这里做一个element-ui日期插件的补充。官方文档中使用picker-options属性来限制可选择的日期,这里举例子稍做补充。
js获取指定时间范围内指定间隔天数的所有日期,前端js,已知开始时间a、结束时间b和间隔天数c,要求取在a-b这两个时间范围内、间隔c天的所有日期。
虽然现在处理日期方面已经有了很成熟的也很好用的库,例如(momentjs和date-fns),但是在实际开发中,我们有时候可能并不需要整个库。所以我就在下面整理了在前端开发时对日期时间的各种操作,也算是比较全的了
今天发现一个奇怪的问题,在iPhone使用 safari 选择定时发布文章到OSC,选择时间后提示不是合法的时间,判断时间的代码如下:在Chrome下会输出 pass,在Safari会输出 isNaN,根据 ECMAScript 5 ISO-8601 format support: 的说法
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!