热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前端开发:使用JavaScript获取最近7天、半年和一年的日期格式化方法

本文介绍了如何在React和ReactNative项目中使用JavaScript进行日期格式化,提供了获取近7天、近半年及近一年日期的具体实现方法。

本文将详细介绍如何在React和React Native项目中使用Javascript对日期进行格式化,并提供获取最近7天、近半年和近一年日期的方法。我们将通过自定义Date对象的格式化函数和辅助函数来实现这些功能。



// 自定义Date对象的格式化方法
Date.prototype.format = function (fmt) {
const o = {
'M+': this.getMonth() + 1, // 月份
'd+': this.getDate(), // 日
'H+': this.getHours(), // 小时
'm+': this.getMinutes(), // 分
's+': this.getSeconds(), // 秒
'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
'S': this.getMilliseconds() // 毫秒
};
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substring(4 - RegExp.$1.length));
}
for (const k in o) {
if (new RegExp(`(${k})`).test(fmt)) {
fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : (`00${o[k]}`).slice(-2));
}
}
return fmt;
}

/**
* @description: 格式化日期
* @param {Date} date - 要格式化的日期,默认为当前日期
* @param {string} format - 日期格式字符串,例如 "yyyy-MM-dd HH:mm:ss"
* @return {string} - 格式化后的日期字符串
*/
export const formatDate = (date = new Date(), format = 'yyyy-MM-dd') => {
return new Date(date).format(format);
}

/**
* @description: 获取n年前的日期
* @param {number} n - 年数,默认为0
* @return {number} - Unix时间戳
*/
export const getYearAgoTimestamp = (n = 0) => {
const currentDate = new Date();
currentDate.setFullYear(currentDate.getFullYear() - n);
return currentDate.getTime();
}

/**
* @description: 获取n月前的日期
* @param {number} n - 月数,默认为0
* @return {number} - Unix时间戳
*/
export const getMOnthAgoTimestamp= (n = 0) => {
const currentDate = new Date();
currentDate.setMonth(currentDate.getMonth() - n);
return currentDate.getTime();
}

/**
* @description: 获取n天前的日期
* @param {number} n - 天数,默认为0
* @return {number} - Unix时间戳
*/
export const getDayAgoTimestamp = (n = 0) => {
const currentDate = new Date();
const pastDate = new Date(currentDate - n * 24 * 60 * 60 * 1000);
return pastDate.getTime();
}

推荐阅读
author-avatar
丽春院少爷
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有