/**
* 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"));
分享到:
相关推荐
这些库提供了更强大的功能,如时区支持、复杂的日期格式化、日期时间的加减操作、日期比较等。例如,Moment.js允许你用`moment().format('YYYY-MM-DD')`来轻松地格式化日期,而date-fns则推崇更简洁的API设计,如`...
在JavaScript中,如果你需要在某个日期上进行加减天数的操作,`setDate()`函数是一个非常实用的方法。这个函数允许你改变Date对象中表示的日期部分,增加或减少指定的天数。 下面详细介绍`setDate()`函数的使用: ...
在实际开发中,日期加减常用于计算有效期、计划任务、日历应用等场景。例如,计算信用卡到期日、确定项目交付期限、规划节假日等。 10. **最佳实践**: 使用日期类时,应遵循良好的编程习惯,如避免使用字符串...
其次,函数`addMonth`承担计算日期加减月份的核心功能。它接受一个日期对象和一个整数作为参数,分别表示要操作的日期和要添加的月份数。函数内部首先将传入的日期对象转换为Date对象。然后计算出年份、月份和日期。...
至于压缩包中的文件名列表,它们可能是教程的不同章节,如`chapter12`、`chapter15`等,通常这些文件可能包含了更深入的JavaScript日期操作的实例或讲解。如果想要深入学习,可以查看这些章节的内容,尤其是涉及到...
除了格式化,这些插件还支持时间的加减、比较和日期范围的计算等操作,极大地方便了开发者。 了解了这些关键知识点后,开发者可以根据项目需求选择合适的JavaScript时间格式化插件,并轻松地返回指定格式的日期和...
这些库提供了更丰富的功能和易用的API,可以方便地处理日期的加减、格式化、比较等操作。 在实际开发中,尤其在处理跨时区、夏令时等问题时,需要对JavaScript的日期处理有深入的理解。通过学习和实践"3.(js篇)...
本文将介绍如何使用JavaScript中的Date对象来实现日期时间的加减,以及如何格式化日期时间以生成一个标准的"yyyy-mm-dd hh:MM:ss"格式。 首先,我们需要了解JavaScript中的Date对象。Date对象用于处理日期和时间,...
JavaScript Date对象还可以进行日期的加减操作,例如增加一天: ```javascript var tomorrow = new Date(specificDate); tomorrow.setDate(tomorrow.getDate() + 1); console.log(tomorrow); ``` 7. **时区...
Luxon是一个强大的JavaScript库,专为处理日期和时间而设计,尤其在复杂的时区管理和格式化方面...总的来说,Luxon是JavaScript开发中处理日期和时间的优秀工具,它的出现提升了JavaScript日期处理的便捷性和准确性。
其中,对于日期加减的操作,主要依赖于`setDate()`方法。 #### 2. 关键方法详解 - **`setDate()`**: 设置日期对象的日期(即月份中的某一天)。 - **`getDate()`**: 获取日期对象的日期(即月份中的某一天)。 - *...
10. **日期操作**: JavaScript还提供了诸如`getDate()`、`getDay()`(返回星期几)等方法,以及`addDays()`、`subDays()`这样的自定义方法,帮助我们进行日期的加减操作。 11. **日期比较**: 使用`>`、`、`>=`、`...
在JavaScript编程中,处理小时和分钟的加减操作是常见的需求,特别是在构建时间相关的Web应用时。例如,用户界面可能包含用于输入或调整时间的文本框,通过点击按钮来增加或减少小时数或分钟数。以下是一些关于如何...
标题中提到的“js时间函数应用加、减、比较、格式转换的示例代码”,涉及了JavaScript中对日期和时间进行操作的几个常见需求,包括时间的增加、减少、比较以及格式化转换。 描述部分则是对这些需求的简短说明,指出...
在JavaScript编程领域中,日期的自由选择是一个常见的需求,尤其在构建交互式用户界面时,如日历插件、时间选择器等。...通过研究提供的示例,你可以深化对JavaScript日期处理的理解,并能将其应用于自己的项目中。
8. **日期计算**:可以方便地进行日期的加减操作,如“选择今天之后的5天”或“选择上个月的最后一天”。 9. **时间区处理**:考虑到全球不同地区的时间区差异,控件可能需要处理时区转换问题。 10. **无障碍性**...
6. **日期计算**:提供日期加减操作,方便进行日期之间的计算。 7. **事件处理**:支持各种事件监听,如选中日期、关闭日期框等,方便扩展功能。 8. **日期范围限制**:可以设置最小日期和最大日期,防止用户选择...
本话题围绕“老裴帮助关于Javascript日期小控件的小练习”展开,旨在探讨如何利用JavaScript实现一个简单的日期选择器。 在网页应用中,日期控件常常用于表单输入,让用户能够方便地选择日期,而不是手动输入。...
Date对象可以用于创建、操作和格式化日期。控件通常通过监听用户交互事件(如点击、键盘输入等)来触发日期的选择和显示。 2. **设计与实现**: - **动态创建**(3-dynamically-created):在HTML页面加载后,通过...