原生js获取YYYY-MM-DD格式日期

本文介绍了如何使用原生JavaScript编写一个函数,以获取当前日期或指定天数前后的日期,并转换为'YYYY-MM-DD'格式。通过传入参数'+num'或'-num',函数可以返回从今天开始的num天后的日期或num天前的日期。示例代码展示了函数的使用方法及其正确输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为之前的项目需要,要在前端生成yyyy-mm-dd格式的日期,还要有获取以今天为起点的前几天,或者后几天,所以就用原生js写了个函数。

[code lang="js"]

/**
* 对日期格式的转换
* @param 无--返回当天
* ''''''''+num'''''''' 返回当天的后几天
* ''''''''-num'''''''' 返回当天的前num天
* @returns yyyy-mth-day 的格式
*
*/
function getDate(){
var param = arguments,
date = new Date();
if(param.length==0){
return changeDateType(date);
}else if(param.length==1){
if(param[0].toString().indexOf("+")!="-1"){
var nowTime = date.getTime(),
preDate = param[0].substr(1,param[0].length-1),
preDateTime = Number(preDate)*24*60*60*1000;
nowTime = Number(nowTime)+preDateTime;
var newDate = new Date(nowTime);
return changeDateType(newDate);
}else if(param[0].toString().indexOf("-")!="-1"){
var nowTime = date.getTime(),
preDate = param[0].substr(1,param[0].length-1),
preDateTime = Number(preDate)*24*60*60*1000;
nowTime = Number(nowTime)-preDateTime;
var newDate = new Date(nowTime);
return changeDateType(newDate);
}else{
return null;
}
}
function changeDateType(date){
var year = date.getFullYear(),
mon = date.getMonth() < 9 ? ''''''''0''''''''+(date.getMonth()+ 1) : date.getMonth() + 1 ,
day = date.getDate() < 10 ? ''''''''0''''''''+date.getDate() : date.getDate(),
nowDate = year+"-"+mon+"-"+day;
return nowDate;
}

}

[/code]

加入项目然后就可以运行啦!



在google下调试。

[code lang="js"]

getDate(); //"2013-05-24"

getDate("-3"); //"2013-05-21"

getDate("+10"); //"2013-06-03"

[/code]

基本上是没问题的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值