关于js中处理日期,常用的方法分享dateUtils

平时在开发过程中,对于日历框应用很多,涉及到日期的一个切换【年、月、日、时、分、秒等各方面】,我整理平时用的很好用的日期切换的方法,分享给大家(对于第一个日期转字符串的方法,个人认为还有更优化的方法,先这样,下次再进行修改)

// 默认时间格式
var strFormatDefault = "yyyy-MM-dd HH:mm:ss";
// 时间转换为字符串
// strFormat 时间格式,例如:'yyyy-MM-dd HH:mm:ss'
// sample: var strCurDate = (new Date()).toString("yyyy-MM-dd hh"));
Date.prototype.toString = function(strFormat) {
	var strDate = "";
	var year, month, day, minute, hour, second;
	year = this.getFullYear();
	day = this.getDate();
	if (parseInt(day,10) < 10) {
		day = "0" + day;
	}
	month = this.getMonth() + 1;
	if (parseInt(month,10) < 10) {
		month = "0" + month;
	}
	hour = this.getHours();
	if (parseInt(hour,10) < 10) {
		hour = "0" + hour;
	}
	minute = this.getMinutes();
	if (parseInt(minute,10) < 10) {
		minute = "0" + minute;
	}
	second = this.getSeconds();
	if (parseInt(second,10) < 10) {
		second = "0" + second;
	}
	if (strFormat === undefined || strFormat === "") {
		strFormat = strFormatDefault;
	}
	strDate = strFormat.replace("yyyy", year).replace("MM", month).replace(
			"dd", day).replace("HH", hour).replace("mm", minute).replace(
			"ss", second);
	return strDate;
};
/**
 * 日期加减并返回指定格式的日期字符串
 * @param num 加减的数字,num或者-num等
 * @param dates 原有日期,可以是日期对象,也可以是可转换成日期对象的字符串
 * @param datepart 日期格式,yyyy-MM-dd HH:mm:ss,这类的都可以
 * @param str 加减的类型  HOUR、MINUTE等,注意这个地方我采用的大写,使用的时候可以自己改判断标志
 * @return
 */
function getNowFormatDate(num, dates, datepart, str) {
    var _dates = new Date();
    if (str == "HOUR" || str == "MINUTE") {
    	if(typeof _dates=='string'){
            dates = dates.replace(/-/g, "/");
            dates = dates.substring(0, 19);	
    	}
        _dates = new Date(dates);
    }
    else {
        _dates = new Date(dates);
    }
    var Y = _dates.getFullYear();
    var M = _dates.getMonth() + 1;
    switch (str) {
        case "YEAR":
                _dates.setFullYear(Y + num, M, _dates.getDate());
            break;
        case "MONTH":
                _dates.setMonth(M + num, _dates.getDate());
            break;
        case "DAY":
                _dates.setDate(_dates.getDate() + num);
            break;
        case "HOUR":
                _dates.setHours(_dates.getHours() + num, 0, 0, 0);
            break;
        case "MINUTE":
                _dates.setMinutes(_dates.getMinutes() + num, 0, 0);
        default:
            break;
    }
    return _dates.toString(datepart);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肆意飞扬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值