当前位置: 首页 > 知识库问答 >
问题:

如何获得日期在yyyy mm dd中的年份差异?

云默
2023-03-14

我想得到以yyyy-mm-dd格式给出的两个日期之间的差值,差值应以年为单位。

        var ds='2002-09-23';
        var today_date = new Date();
        alert(today_date);
        Date.prototype.yyyymmdd = function() {
        var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
        var dd  = this.getDate().toString();
        var dt = yyyy +"-"+(mm[1]?mm:"0"+mm[0]) +"-"+ (dd[1]?dd:"0"+dd[0]);// padding
        var num_years = diff_date/31536000000;
        alert(num_years);
        if (num_years>18){
           alert (num_years);
        }else{
        alert ("i m not 18");
               }

请帮帮我。

共有3个答案

杨腾
2023-03-14

请尝试以下代码以获得年份差异...

function getDateDiffInYears(date1, date2) {
  var dateParts1 = date1.split('-')
    , dateParts2 = date2.split('-')
    , d1 = new Date(dateParts1[0], dateParts1[1]-1, dateParts1[2])
    , d2 = new Date(dateParts2[0], dateParts2[1]-1, dateParts2[2])

  return new Date(d2 - d1).getYear() - new Date(0).getYear() + 1;
}

var diff = getDateDiffInYears('2005-09-23', '2012-07-3');

console.log(diff); // => 7 years

祝你好运

訾朗
2023-03-14

这不需要库,只需要纯javascript:

function wholeYearsBetweenTwoDates(dateOneString, dateTwoString) {
    // assuming that dateTwo is later in time than dateOne
    var dateOne = getDateFromString(dateOneString);
    var dateTwo = getDateFromString(dateTwoString);

    var result = dateTwo.getFullYear() - dateOne.getFullYear();

    dateOne.setFullYear(dateTwo.getFullYear());
    if (dateOne > dateTwo) {
        // compensate for the case when last year is not full - e.g., when
        // provided with '2009-10-10' and '2010-10-09', this will return 0
        result -= 1;
    }

    return result;
}

function getDateFromString(stringDate) {
    var dateParts = stringDate.split('-');
    var result = new Date(dateParts[0], dateParts[1], dateParts[2]);
    return result;
}
车靖琪
2023-03-14

这要短得多:

var yearsApart = new Date(new Date - new Date('2002-09-23')).getFullYear()-1970

…但是要小心,通过提供正确的日期时间字符串来处理非UTC时区!

 类似资料:
  • 问题内容: 我想使用MySQL数据库从两个不同的日期获得年份差异。 例如: 2011-07-20-2011-07-18 => 0年 2011-07-20-2010-07-20 => 1年 2011-06-15-2008-04-11 => 2 3年 2011-06-11-2001-10-11 => 9年 SQL语法怎么样?MySQL有内置函数产生结果吗? 问题答案: 以下表达式也适用于leap年:

  • 问题内容: 我想计算两个日期之间的年数。 例如:- 这将导致335天。我想用几年来展示,这将是几年。 问题答案: 只需执行此操作(除以 365.242199 ): 1年= 365.242199天 或者 使用MONTHS_BETWEEN尝试类似的事情:- 或者您也可以尝试以下方法: 335 / 365.242199 = 0.917199603,而不是.97

  • 问题内容: 如何让今天的日期YYYYMMDD在火鸟,我一看下面的,但不能想出该怎么写。 问题答案: 我认为您可以:

  • 如何获得之间的差异2日期在年,月和天使用moment.js?例如之间的差异4/5/2014

  • 问题内容: 我正在做一些报告,我想获取特定月份(例如2014年1月)中的所有日期,以及执行此“ SQL”时的日期: 我想得到这个清单: 如果我这样做“ SQL”: 我想得到这个清单: 如果我这样做“ SQL”: 我想得到这个清单: 这有可能吗,还是我应该自己为下一个100年绘制日期表:) 问题答案: 这是此问题的mysql / java解决方案。 创建表语句: Java代码: 我使用此sql获取日

  • 问题内容: Java类库具有一个名为DateTime的类。DateTime具有此方法: 该参数返回此参数与参数之间的天数。它没有方法 我碰巧需要的。是否有一个类似于DateTime但有这种方法的类? 问题答案: 不熟悉DateTime … 如果您有两个日期,则可以对它们调用getTime以获取毫秒,获取diff并除以1000。例如 如果您有日历对象,则可以调用 并做同样的