各种时间加减 收藏起来以备后用

  1. //名称:日期加法函数
  2. //参数:part(year、month、day、hour、minute、second、millisecond)
  3. //返回:Date对象
  4. Date.prototype.add = function(part, value) {
  5. if (!value || isNaN(value)) value = 0;
  6. switch (part) {
  7. case "year":
  8. this.setFullYear(this.getFullYear() + value);
  9. break;
  10. case "month":
  11. this.setMonth(this.getMonth() + value);
  12. break;
  13. case "day":
  14. this.setDate(this.getDate() + value);
  15. break;
  16. case "hour":
  17. this.setHours(this.getHours() + value);
  18. break;
  19. case "minute":
  20. this.setMinutes(this.getMinutes() + value);
  21. break;
  22. case "second":
  23. this.setSeconds(this.getSeconds() + value);
  24. break;
  25. case "millisecond":
  26. this.setMilliseconds(this.getMilliseconds() + value);
  27. break;
  28. default:
  29. }
  30. return this;
  31. };
  32.  
  33. Date.prototype.addYears = function(value) {
  34. if (!value || isNaN(value)) value = 0;
  35. this.setFullYear(this.getFullYear() + value);
  36. return this;
  37. };
  38.  
  39. Date.prototype.addMonths = function(value) {
  40. if (!value || isNaN(value)) value = 0;
  41. this.setMonth(this.getMonth() + value);
  42. return this;
  43. };
  44.  
  45. Date.prototype.addDays = function(value) {
  46. if (!value || isNaN(value)) value = 0;
  47. this.setDate(this.getDate() + value);
  48. return this;
  49. };
  50.  
  51. Date.prototype.addHours = function(value) {
  52. if (!value || isNaN(value)) value = 0;
  53. this.setHours(this.getHours() + value);
  54. return this;
  55. };
  56.  
  57. Date.prototype.addMinutes = function(value) {
  58. if (!value || isNaN(value)) value = 0;
  59. this.setMinutes(this.getMinutes() + value);
  60. return this;
  61. };
  62.  
  63. Date.prototype.addSeconds = function(value) {
  64. if (!value || isNaN(value)) value = 0;
  65. this.setSeconds(this.getSeconds() + value);
  66. return this;
  67. };
  68.  
  69. Date.prototype.addMilliseconds = function(value) {
  70. if (!value || isNaN(value)) value = 0;
  71. this.setMilliseconds(this.getMilliseconds() + value);
  72. return this;
  73. };
  74.  
  75. //名称:日期加法函数
  76. //参数:time(日期字符串,示例:12:00:00)
  77. //返回:Date对象
  78. Date.prototype.addTime = function(time) {
  79. var timeRegex = /^([0-1]?\d|2[0-3])(:[0-5]?\d){1,2}$/g;
  80. if (timeRegex.test(time)) {
  81. var value = Date.parse("1970/1/1 " + time) - Date.parse("1970/1/1");
  82. this.setMilliseconds(this.getMilliseconds() + value);
  83. }
  84. return this;
  85. };
  86.  
  87. //名称:日期格式化函数
  88. //参数:format(示例:yyyy-MM-dd hh:mm:ss)、zeroize(是否补零)
  89. //返回:日期字符串
  90. Date.prototype.toCustomString = function(format, zeroize) {
  91. if (!zeroize) zeroize = false;
  92. var dy = this.getFullYear();
  93. var dM = this.getMonth() + 1;
  94. var dd = this.getDate();
  95. var dh = this.getHours();
  96. var dm = this.getMinutes();
  97. var ds = this.getSeconds();
  98. var dS = this.getMilliseconds();
  99. var orm = {
  100. "y+": dy.toString(),
  101. "M+": !zeroize ? dM.toString() : dM < 10 ? 0 + dM : dM.toString(),
  102. "d+": !zeroize ? dd.toString() : dd < 10 ? 0 + dd : dd.toString(),
  103. "h+": !zeroize ? dh.toString() : dh < 10 ? 0 + dh : dh.toString(),
  104. "m+": !zeroize ? dm.toString() : dm < 10 ? 0 + dm : dm.toString(),
  105. "s+": !zeroize ? ds.toString() : ds < 10 ? 0 + ds : ds.toString(),
  106. "S": dS.toString()
  107. };
  108. for (var i in orm) {
  109. var patt = new RegExp(i);
  110. if (patt.test(format)) {
  111. var item = orm[i];
  112. var ms = format.match(patt);
  113. var result = ms[0];
  114. if (i === "S") {
  115. format = format.replace(result, item);
  116. } else {
  117. format = format.replace(result, item.substr(item.length - result.length));
  118. }
  119. }
  120. }
  121. return format;
  122. };

如果这篇文章对您有帮助,您可以打赏我

技术交流QQ群:15129679

JavaScript之Date日期对象扩展的更多相关文章

  1. JavaScript中Date(日期对象),Math对象--学习笔记

    Date对象 1.什么是Date对象? 日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒). 语法:var Udate=new Date();  注:初始值为当前时间(当前电脑系统 ...

  2. js动态获取当前系统时间+js字符串转换为date日期对象

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  3. JS日期对象扩展-日期格式化

    日期对象扩展(日期格式化)yyyy-MM-dd hh:mm:ss.S Date.prototype.format = function(fmt) { var o = { "M+" ...

  4. JS对象 Date 日期对象 日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒)。 定义一个时间对象 : var Udate=new Date();Date()的首字母须大写

    Date 日期对象 日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒). 定义一个时间对象 : var Udate=new Date(); 注意:使用关键字new,Date()的首 ...

  5. JavaScript Date日期对象以及日期格式化方法

    前言 Date对象是javascript语言中内置的数据类型,用于提供日期和时间的操作接口.Date对象是在早期java中的java.util.Date类基础上创建的,为此,Date类型使用自UTC1 ...

  6. JavaScript学习系列博客_30_JavaScript Date 日期对象

    Date - 日期的对象,在JS中通过Date对象来表示一个时间 - 创建一个当前的时间对象 var d = new Date(); - 创建一个指定的时间对象 var d = new Date(&q ...

  7. JS内置对象-String对象、Date日期对象、Array数组对象、Math对象

    一.JavaScript中的所有事物都是对象:字符串.数组.数值.函数... 1.每个对象带有属性和方法 JavaScript允许自定义对象 2.自定义对象 a.定义并创建对象实例 b.使用函数来定义 ...

  8. 第八天:JS内置对象-Date日期对象

    1.Data对象 日期对象用于处理日期和时间 2.获取当日日期    代码如下: <!DOCTYPE html> <html lang="en"><h ...

  9. 初识 Javascript.02 -- Date日期、Math对象、数据类型转换、字符串、布尔Boolean、逻辑运算符、if else 、三元表达式、代码调试方法、

    Date()对象: Date对象用于处理日期和时间. 1.1 Math对象  ◆Math.ceil()   天花板函数    向上取整  只取整数,不足则进1 ◆Math.floor()  地板函数 ...

随机推荐

  1. java控制语句 if-else while do-while for return break continue goto switch default

    if for //: object/ForEachFloat.java package object; import java.util.Random; public class ForEachFlo ...

  2. 多行文字溢出[...]的实现(text-overflow: ellipsis)

    声明:此文章为转载(点击查看原文),如有侵权24小时内删除.联系QQ:1522025433. 对于单行文字, 很简单.(详见css3产考手册 进入) css: .oneLine { width: 20 ...

  3. Intellij IDEA配置tomcat热部署

    idea2017+tomcat8为本文的实验环境 1.打开tomcat的edit configuration,一定要选择war exploded  在idea tomcat 中server的配置里,有 ...

  4. python 全栈开发,Day105(路飞其他数据库表结构,立即结算需求)

    考试第三部分:Django 16.  列列举你熟悉的Http协议头以及作用.(1分) Accept-Charset: 用于告诉浏览器,客户机采用的编码 Host: 客户机通过这个头告诉服务器,想访问的 ...

  5. ASP.NET Global.asax详解【转】

    global.asax是一个文本文件,它提供全局可用代码.这些代码包括应用程序的事件处理程序以及会话事件.方法和静态变量.有时该文件也被称为应用程序文件. global.asax 文件中的任何代码都是 ...

  6. [转] HTML5 FormData 方法介绍以及实现文件上传

    XMLHttpRequest 是一个浏览器接口,通过它,我们可以使得 Javascript 进行 HTTP (S) 通信.XMLHttpRequest 在现在浏览器中是一种常用的前后台交互数据的方式. ...

  7. day12--数据库(Mysq)

    1. 数据库介绍 什么是数据库?(https://www.cnblogs.com/alex3714/articles/5950372.html) 数据库(Database)是按照数据结构来组织.存储和 ...

  8. Linux下安装JDK7和TomCat7

    [BEGIN] 2016/9/9 14:20:49[root@rzhd jdk]# ll总用量 149916-rw-r--r-- 1 root root 153512879 9月 9 14:20 jd ...

  9. Mahout介绍和简单应用

    Mahout学习(主要学习内容是Mahout中推荐部分的ItemCF.UserCF.Hadoop集群部署运行) 1.Mahout是什么? Mahout是一个算法库,集成了很多算法. Apache Ma ...

  10. 6-5 巡逻机器人 uva1600

    一开始按照标准bfs来写  标记为二维数组 后来按照三维数组写过了    ps大部分bfs都不会是二维数组搞定!!! 其中有一个bug弄了半个小时... 一开始我是先判断!vis[x][y][v.c] ...