当前位置:首页 > 编程教程 > javascript技术文章 > javascript完美实现给定日期返回上月日期的方法

javascript完美实现给定日期返回上月日期代码详解

  • 发布时间:
  • 作者:码农之家
  • 点击:189

这篇文章主要知识点是关于javascript、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

JavaScript函数式编程指南
  • 类型:js函数大小:12.79 MB格式:PDF作者:路易斯·阿泰西奥
立即下载

javascript完美实现给定日期返回上月日期的方法

本文实例讲述了javascript完美实现给定日期返回上月日期的方法。分享给大家供大家参考,具体如下:

在项目开发中,使用javascript对日期进行处理时,因为在查询中都会有一个初始值,大多都会在当前日期的基础上推一个月,在这种情况下,如果自己写一个,需要考虑的情况较多,在这里给大家分享一下一个比较完善的解决这个问题的方法。供大家参考。例如:给定截止日期enddate=2010-07-31

计算得到开始日期startdate=2010-06-30

这个问题的关键在于对以下几处的考虑:

1、startdate跨年

2、startdate是2月(需考虑闰年的情况)

3、大小月

<html>
<script type="text/javascript">
function getInitStartDate(enddate) {
  var comp = enddate.split("-");
  var year = comp[0];
  var month = comp[1];
  var date = comp[2];
  if (month == "01") { //前一月跨年
    month = 12;
    year = year - 1;
  } else {
    month = month - 1;
    if (month == 2 && date > 28) {
      date = isLeapYear(year) ? 29 : 28;
    } else if (date == 31) {
      switch (month) {
      case 4:
      case 6:
      case 9:
      case 11:
        date = 30;
        break;
      default:
        break;
      }
    }
  }
  month = ("" + month).length == 1 ? ("0" + month) : ("" + month);
  var dateFormat = year + "-" + month + "-" + date;
  return dateFormat;
}
function isLeapYear(y) { //判断y是否为闰年
  return (y % 4 == 0) && (y % 400 == 0 || y % 100 != 0);
}
alert(getInitStartDate("2010-07-31"));
</script>
</html>

配套给出一个格式化日期的方法:

<script language="JavaScript"> 
Date.prototype.format = function(format) //author: meizz
{
 var o = {
  "M+" : this.getMonth()+1, //month
  "d+" : this.getDate(),  //day
  "h+" : this.getHours(),  //hour
  "m+" : this.getMinutes(), //minute
  "s+" : this.getSeconds(), //second
  "q+" : Math.floor((this.getMonth()+3)/3), //quarter
  "S" : this.getMilliseconds() //millisecond
 }
 if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
  (this.getFullYear()+"").substr(4 - RegExp.$1.length));
 for(var k in o)if(new RegExp("("+ k +")").test(format))
  format = format.replace(RegExp.$1,
   RegExp.$1.length==1 ? o[k] :
    ("00"+ o[k]).substr((""+ o[k]).length));
 return format;
}
alert(new Date().format("yyyy-MM-dd"));
alert(new Date("january 12 2008 11:12:30").format("yyyy-MM-dd hh:mm:ss"));
</script>

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript时间与日期操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

您可能感兴趣的文章:

  • JavaScript输出所选择起始与结束日期的实例代码
  • JavaScript时间戳与时间日期间相互转换示例代码
  • javascript 相关电子书
    学习笔记
    网友NO.316027

    JavaScript中日期的相关操作方法总结

    创建日期 Date 对象用于处理日期和时间。 可以通过 new 关键词来定义 Date 对象。以下代码定义了名为 myDate 的 Date 对象: 有四种方式初始化日期: new Date() // 当前日期和时间new Date(milliseconds) //返回从 1970 年 1 月 1 日至今的毫秒数new Date(dateString)new Date(year, month, day, hours, minutes, seconds, milliseconds) 上面的参数大多数都是可选的,在不指定的情况下,默认参数是0。 实例化一个日期的一些例子: var today = new Date()var d1 = new Date("October 13, 1975 11:13:00")var d2 = new Date(79,5,24)var d3 = new Date(79,5,24,11,33,0) 设置日期 通过使用针对日期对象的方法,我们可以很容易地对日期进行操作。 在下面的例子中,我们为日期对象设置了一个特定的日期 (2010 年 1 月 14 日): var myDate=new Date();myDate.setFullYear(2010,0,14); 在下面的例子中,我们将日期对象设置为 5 天后的日期: var myDate=new Date()……

    网友NO.526364

    javascript自定义日期比较函数用法示例

    本文实例讲述了javascript自定义日期比较函数用法。分享给大家供大家参考,具体如下: 1.比较日期大小 scriptfunction CompareDate(d1,d2){ return ((new Date(d1.replace(/-/g,"//"))) (new Date(d2.replace(/-/g,"//"))));}var current_time = "2007-02-02 7:30";var stop_time = "2007-01-31 8:30";console.log(CompareDate(current_time,stop_time));/script 运行结果: 2.两个日期相差天数 SCRIPT LANGUAGE="JavaScript"!--/* 日期格式2008-01-20*/function DateDiff(sDate1,sDate2){ var aDate,oDate1,oDate2,iDays ; aDate =sDate1.split('-'); oDate1 = new Date(aDate[1]+'-'+aDate[2]+'-'+aDate[0]) ; //转换为04-19-2007格式 aDate = sDate2.split('-'); oDate2 = new Date(aDate[1]+'-'+ aDate[2] +'-'+aDate[0]); iDays = parseInt(Math.abs(oDate1 -oDate2)/1000/60/60/24);//把相差的毫秒数转换为天数 return iDays ;}console.log(DateDiff('2008-02-25','2008-03-02'));//--/SCRIPT 运行结果: 感兴趣的朋友可以使用 在线HTML/CSS/JavaScript代码运行工具……

    网友NO.606898

    JavaScript输出所选择起始与结束日期的实例代码

    本文实例讲述了JavaScript输出所选择起始与结束日期的方法。分享给大家供大家参考,具体如下: 一直在用公司的报表工具做报表,报表里最常用的查询条件就是开始日期、结束日期。 自己会一点html和js,于是就想用html+JavaScript来实现选择查询日期,以及做出相应。 实现之后,觉得这个还是比较简单的,N年前学的html和javascript,总算是派上用场了,人人都可以开发网页。 这个代码要在谷歌的chrome浏览器中,日期选择才能有效果 ( 代码中的input元素Type属性值date为HTML5元素,需要支持HTML5的浏览器运行 ) 代码如下: !DOCTYPE HTMLhtmlhead meta http-equiv=content-type content=charset=gbk/meta script type=text/javascript function query() { var xx = document.getElementsByName(day); var s=; for (var i=0;ixx.length ;i++ ) { if(xx[i].tagName == TD) s= s + xx[i].innerText; //alert(xx[i].innerText); else { if(xx[i].tagName == INPUT) { s……

    <
    1
    >

    Copyright 2018-2020 www.xz577.com 码农之家

    版权投诉 / 书籍推广 / 赞助:520161757@qq.com