vue常见日期库的差异以及使用方法

常见日期库的使用方法:

dayjs:

https://day.js.org/zh-CN/

注意: 24h制时 HH:mm:ss 其中 m,s小写 否则不准确 日期大写:YYYY-MM-DD

//引入
import dayjs from 'dayjs'

// 获取昨天日期
export function getYesterday() {
  const yesterday = dayjs().subtract(1, 'day')
  const formatYesterday = dayjs(yesterday).format('YYYY-MM-DD')
  return formatYesterday
}
// 获取上个月第一天日期
export function getLasterMonthFirstDay() {
  const LasterMonthDay = dayjs().subtract(1, 'month')
  const lastermonthfirstday = dayjs(LasterMonthDay).startOf('M')
  const formatlastermonthday = dayjs(lastermonthfirstday).format('YYYY-MM-DD')
  return formatlastermonthday
}

// 获取今天日期
export function getTodayFormat() {
  return dayjs().format('YYYY-MM-DD')
}

// 是否是15号之后
export function isAfterFifteenDay() {
  return dayjs().date() > 15
}


dateformat :

https://www.npmjs.com/package/dateformat

注意: 24h制时 HH:MM:ss 其中 M大写,s小写 否则不准确 日期大写:yyyy-mm-dd

//引入
var dateformat = require('dateformat')
//
export function formateTime() {
  return dateFormat(new Date().setTime(Date.now()), 'yyyy-mm-dd HH:MM:ss')
}

import dateFormat, { masks } from "dateformat";
const now = new Date();

// Basic usage
dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
// Saturday, June 9th, 2007, 5:46:21 PM

// You can use one of several named masks
dateFormat(now, "isoDateTime");
// 2007-06-09T17:46:21

// ...Or add your own
masks.hammerTime = 'HH:MM! "Can\'t touch this!"';
dateFormat(now, "hammerTime");
// 17:46! Can't touch this!

// You can also provide the date as a string
dateFormat("Jun 9 2007", "fullDate");
// Saturday, June 9, 2007

// Note that if you don't include the mask argument,
// dateFormat.masks.default is used
dateFormat(now);
// Sat Jun 09 2007 17:46:21

// And if you don't include the date argument,
// the current date and time is used
dateFormat();
// Sat Jun 09 2007 17:46:22

// You can also skip the date argument (as long as your mask doesn't
// contain any numbers), in which case the current date/time is used
dateFormat("longTime");
// 5:46:22 PM EST

// And finally, you can convert local time to UTC time. Simply pass in
// true as an additional argument (no argument skipping allowed in this case):
dateFormat(now, "longTime", true);
// 10:46:21 PM UTC

// ...Or add the prefix "UTC:" or "GMT:" to your mask.
dateFormat(now, "UTC:h:MM:ss TT Z");
// 10:46:21 PM UTC

// You can also get the ISO 8601 week of the year:
dateFormat(now, "W");
// 42

// and also get the ISO 8601 numeric representation of the day of the week:
dateFormat(now, "N");
// 6


momentjs :

http://momentjs.cn/docs/

注意: 24h制时 HH:mm:ss 其中 m,s小写 否则不准确 日期大写:YYYY-MM-DD

//引入 
import moment from "moment"

let time =  moment().set({ hour: 0, minute: 0, second: 0, millisecond: 0 }),
let startDate = moment().subtract(2, "months").format("YYYY-MM-DD HH:mm:ss");

日期库格式化大小写引发的惨案 format(“YYYY-MM-DD HH:mm:ss”)

format("YYYY-MM-DD HH:mm:ss")

原生处理日期:

  /**
     * @description: 获取当前日期n个月后/月前的日期
     * @param {String} n 几个月(为负数则表示前面的日期)
     * @return: 日期
     */
    diffMonth(n) {
      var dt = new Date()
      dt.setMonth(dt.getMonth() + Number(n))
      return dt.toLocaleString().replace(/\//g, '-')
    },
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值