`

javascript 对日期加减操作 格式化

阅读更多

/**
 * js 对date加减
 */



Date.prototype.Format = function(fmt) {
	// author: meizz
	var 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() + "").substr(4
				- RegExp.$1.length));
	for (var k in o)
		if (new RegExp("(" + k + ")").test(fmt))
			fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1)
					? (o[k])
					: (("00" + o[k]).substr(("" + o[k]).length)));
	return fmt;
}

Date.prototype.addDays = function(d) {
	this.setDate(this.getDate() + d);
};

Date.prototype.addWeeks = function(w) {
	this.addDays(w * 7);
};

Date.prototype.addMonths = function(m) {
	var d = this.getDate();
	this.setMonth(this.getMonth() + m);

	if (this.getDate() < d)
		this.setDate(0);
};

Date.prototype.addYears = function(y) {
	var m = this.getMonth();
	this.setFullYear(this.getFullYear() + y);

	if (m < this.getMonth()) {
		this.setDate(0);
	}
};

//js格式化时间
Date.prototype.toDateString = function(formatStr) {
	var date = this;
	var timeValues = function() {
	};
	timeValues.prototype = {
		year : function() {
			if (formatStr.indexOf("yyyy") >= 0) {
				return date.getYear();
			} else {
				return date.getYear().toString().substr(2);
			}
		},
		elseTime : function(val, formatVal) {
			return formatVal >= 0 ? (val < 10 ? "0" + val : val) : (val);
		},
		month : function() {
			return this.elseTime(date.getMonth() + 1, formatStr.indexOf("MM"));
		},
		day : function() {
			return this.elseTime(date.getDate(), formatStr.indexOf("dd"));
		},
		hour : function() {
			return this.elseTime(date.getHours(), formatStr.indexOf("hh"));
		},
		minute : function() {
			return this.elseTime(date.getMinutes(), formatStr.indexOf("mm"));
		},
		second : function() {
			return this.elseTime(date.getSeconds(), formatStr.indexOf("ss"));
		}
	}
	var tV = new timeValues();
	var replaceStr = {
		year : ["yyyy", "yy"],
		month : ["MM", "M"],
		day : ["dd", "d"],
		hour : ["hh", "h"],
		minute : ["mm", "m"],
		second : ["ss", "s"]
	};
	for (var key in replaceStr) {
		formatStr = formatStr.replace(replaceStr[key][0], eval("tV." + key
				+ "()"));
		formatStr = formatStr.replace(replaceStr[key][1], eval("tV." + key
				+ "()"));
	}
	return formatStr;
}

function formatStrDate(date) {
	var str = date.toDateString("yyyy-MM-dd hh:mm:ss");
	if (str.indexOf("00:00:00") != -1) {
		return str.replace("00:00:00", "10:00:00");
	}
	return str;
}

var date = new Date();
date.addDays(-3);
console.info(date.toDateString("yyyy-MM-dd hh:mm:ss"));

 
分享到:
评论

相关推荐

    javascript精确计算日期处理金额格式化

    这些库提供了更强大的功能,如时区支持、复杂的日期格式化、日期时间的加减操作、日期比较等。例如,Moment.js允许你用`moment().format('YYYY-MM-DD')`来轻松地格式化日期,而date-fns则推崇更简洁的API设计,如`...

    js用Date对象的setDate()函数对日期进行加减操作

    在JavaScript中,如果你需要在某个日期上进行加减天数的操作,`setDate()`函数是一个非常实用的方法。这个函数允许你改变Date对象中表示的日期部分,增加或减少指定的天数。 下面详细介绍`setDate()`函数的使用: ...

    日期类加减的年月日版本

    在实际开发中,日期加减常用于计算有效期、计划任务、日历应用等场景。例如,计算信用卡到期日、确定项目交付期限、规划节假日等。 10. **最佳实践**: 使用日期类时,应遵循良好的编程习惯,如避免使用字符串...

    javascript实现日期按月份加减

    其次,函数`addMonth`承担计算日期加减月份的核心功能。它接受一个日期对象和一个整数作为参数,分别表示要操作的日期和要添加的月份数。函数内部首先将传入的日期对象转换为Date对象。然后计算出年份、月份和日期。...

    js 时间计算(加减天数、返回当前时间后一个星期的日期,返回格式yyyy-MM-dd)

    至于压缩包中的文件名列表,它们可能是教程的不同章节,如`chapter12`、`chapter15`等,通常这些文件可能包含了更深入的JavaScript日期操作的实例或讲解。如果想要深入学习,可以查看这些章节的内容,尤其是涉及到...

    JavaScript时间格式化插件,返回指定字符串

    除了格式化,这些插件还支持时间的加减、比较和日期范围的计算等操作,极大地方便了开发者。 了解了这些关键知识点后,开发者可以根据项目需求选择合适的JavaScript时间格式化插件,并轻松地返回指定格式的日期和...

    3.(js篇)日期的相加减.zip

    这些库提供了更丰富的功能和易用的API,可以方便地处理日期的加减、格式化、比较等操作。 在实际开发中,尤其在处理跨时区、夏令时等问题时,需要对JavaScript的日期处理有深入的理解。通过学习和实践"3.(js篇)...

    浅谈javascript中的加减时间

    本文将介绍如何使用JavaScript中的Date对象来实现日期时间的加减,以及如何格式化日期时间以生成一个标准的"yyyy-mm-dd hh:MM:ss"格式。 首先,我们需要了解JavaScript中的Date对象。Date对象用于处理日期和时间,...

    用javascript写选择日期时间的例子

    JavaScript Date对象还可以进行日期的加减操作,例如增加一天: ```javascript var tomorrow = new Date(specificDate); tomorrow.setDate(tomorrow.getDate() + 1); console.log(tomorrow); ``` 7. **时区...

    Luxon是一个用JavaScript处理日期和时间的实验库

    Luxon是一个强大的JavaScript库,专为处理日期和时间而设计,尤其在复杂的时区管理和格式化方面...总的来说,Luxon是JavaScript开发中处理日期和时间的优秀工具,它的出现提升了JavaScript日期处理的便捷性和准确性。

    JS实现日期加减的方法

    其中,对于日期加减的操作,主要依赖于`setDate()`方法。 #### 2. 关键方法详解 - **`setDate()`**: 设置日期对象的日期(即月份中的某一天)。 - **`getDate()`**: 获取日期对象的日期(即月份中的某一天)。 - *...

    JavaScript_日期

    10. **日期操作**: JavaScript还提供了诸如`getDate()`、`getDay()`(返回星期几)等方法,以及`addDays()`、`subDays()`这样的自定义方法,帮助我们进行日期的加减操作。 11. **日期比较**: 使用`&gt;`、`、`&gt;=`、`...

    js小时和分钟的加减

    在JavaScript编程中,处理小时和分钟的加减操作是常见的需求,特别是在构建时间相关的Web应用时。例如,用户界面可能包含用于输入或调整时间的文本框,通过点击按钮来增加或减少小时数或分钟数。以下是一些关于如何...

    js 时间函数应用加、减、比较、格式转换的示例代码

    标题中提到的“js时间函数应用加、减、比较、格式转换的示例代码”,涉及了JavaScript中对日期和时间进行操作的几个常见需求,包括时间的增加、减少、比较以及格式化转换。 描述部分则是对这些需求的简短说明,指出...

    javascript经典特效---日期的自由选择.rar

    在JavaScript编程领域中,日期的自由选择是一个常见的需求,尤其在构建交互式用户界面时,如日历插件、时间选择器等。...通过研究提供的示例,你可以深化对JavaScript日期处理的理解,并能将其应用于自己的项目中。

    Javascript日期时间选择控件

    8. **日期计算**:可以方便地进行日期的加减操作,如“选择今天之后的5天”或“选择上个月的最后一天”。 9. **时间区处理**:考虑到全球不同地区的时间区差异,控件可能需要处理时区转换问题。 10. **无障碍性**...

    JavaScript日期控件

    6. **日期计算**:提供日期加减操作,方便进行日期之间的计算。 7. **事件处理**:支持各种事件监听,如选中日期、关闭日期框等,方便扩展功能。 8. **日期范围限制**:可以设置最小日期和最大日期,防止用户选择...

    老裴帮助关于Javascript日期小控件的小练习

    本话题围绕“老裴帮助关于Javascript日期小控件的小练习”展开,旨在探讨如何利用JavaScript实现一个简单的日期选择器。 在网页应用中,日期控件常常用于表单输入,让用户能够方便地选择日期,而不是手动输入。...

    javascript日期控件

    Date对象可以用于创建、操作和格式化日期。控件通常通过监听用户交互事件(如点击、键盘输入等)来触发日期的选择和显示。 2. **设计与实现**: - **动态创建**(3-dynamically-created):在HTML页面加载后,通过...

Global site tag (gtag.js) - Google Analytics