JS日期处理方案

JS原生日期处理方案

原生js日期常用方法

获取

let d = new Date();

// 获取自 1970 年 1 月 1 日至当前的毫秒数  时间戳
console.log(d.getTime());

// 获取 四位数年份
console.log(d.getFullYear());

// 获取 月份(0-11) 因此,月份需要再加一才是正确月份
console.log(d.getMonth() + 1);

// 获取 当前所在月份的 天数 (1-31)
console.log(d.getDate());

// 获取周几(1-7)
console.log(d.getDay());

// 获取 小时
console.log(d.getHours());

// 获取 分钟
console.log(d.getMinutes());

// 获取 秒
console.log(d.getSeconds());

// 获取 毫秒
console.log(d.getMilliseconds());

设置

let d = new Date();
// 设置日期对象的年份  例如2020年
d.setFullYear(2020);

// 选择设置月和日
d.setFullYear(2020, 11, 3);

// 设置月份 (0-11)
d.setMonth(8);

// 设置日 (1-31)
d.setDate(15);

// 为一个日期对象添加日期
d.setDate(d.getDate() + 50);

// 设置小时 (0-23)
d.setHours(12);

// 设置分钟 (0-59)
d.setMinutes(30);

// 设置秒数 (0-59)
d.setSeconds(30);

日期比较

let today, someday, text;
today = new Date();
someday = new Date();
someday.setFullYear(2049, 0, 16);

if (someday > today) {
  text = "今天在 2049 年 1 月 16 日之前";
} else {
  text = "今天在 2049 年 1 月 16 日之后";
}

二次封装的时间处理方法…

day.js日期处理方案

安装和引入

npm install dayjs --save
import dayjs from 'dayjs'

day.js常用方法

// 当前年份
var currentYear = dayjs().year(); 
 
// 获取当前月份
var currentMonth = dayjs().month() + 1;
 
// 获取当前月份有多少天
var currentMonthDay = dayjs('2023-02-06').daysInMonth();  // 28 天
 
// 获取当前几号的天数   2.8日  返回 Number 8
var currentDay = dayjs().date();
 
// 获取当前是周几 返回 string   一 || 二 || 三
var currentWeek = dayjs().day();
 
// 获取当前是几点   13.40  ===  Number 13
var currentHour = dayjs().hour()

// 设置开始的某个时间 || 结束时间
// year(今年一月1日上午 00:00) ||  month(本月1日上午 00:00)
// hour(当前时间,0 分、0 秒、0 毫秒)  ||   minute(当前时间,0 秒、0 毫秒)
// week(本周的第一天上午 00:00)
dayjs().startOf('day')  // startOf 时间的开始 当天的  00:00:00
dayjs().endOf('day')    // endOf   时间的末尾 当天的  23:59:59
 
// 以下用法详解
dayjs("2023-02-06").startOf('day').format('YYYY-MM-DD HH:mm:ss'), // 转换> 2023-02-06 00:00:00
dayjs("2023-02-06").endOf('day').format('YYYY-MM-DD HH:mm:ss'),   // 转换> 2023-02-06 23:59:59
dayjs(formData.dataTime[0]).startOf('day').format('YYYY-MM-DD HH:mm:ss'),  // 用法

// 时间戳格式
dayjs().format(String)
dayjs('2023-02-06').format('YYYY-MM-DD HH:mm:ss') // 日期 === 年 月 日 时 分 秒   2023-02-06 00:00:00
dayjs().format('YYYY-MM-DD')  // 日期 === 年 月 日    2023-02-06
dayjs().format('YYYY-MM')     // 日期 === 年 月       2023-02

// 判断某个日期是否 已经在已过日期 ( Boolean )
dayjs('2023-02-07').isBefore(dayjs()); // 2023-02-06  false ( 2023-02-07 不在 02-06 之前 )

// 判断某个日期是否跟某个日期相同 (boolean)
dayjs('2023-2-6').isSame(dayjs('2023-2-6')); // true

//  判断某个日期是否在某个日期之后
dayjs('2023-2-7').isAfter(dayjs('2023-2-9')); // false  如果两个一样那么也是返回 false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值