代码之家  ›  专栏  ›  技术社区  ›  user42459

计算通过的天数

  •  0
  • user42459  · 技术社区  · 5 年前

    我有一个变量 date 这样地:

    enter image description here

    我想计算一下,从那以后,过了多少天, Jan 1 of 1960 .

    然而,这很乏味。在某些年份,二月 28 天。

    我一直在尝试的基本上是查找每个日历,计算每年有多少天,识别字符串 jan 作为月份变量 1 等等。

    有没有短而有效的方法可以做到这一点?

    1 回复  |  直到 5 年前
        1
  •  2
  •   Pearly Spencer Paul Cruz    5 年前

    你需要使用 daily() date() 功能:

    display date("1/1/2012", "DMY") - date("1/1/1960", "DMY")
    18993
    

    更一般地说,如果有带日期的字符串变量:

    clear
    
    input str10 date1
    "01/01/2012"
    "01/01/2011"
    "01/01/2014"
    "19/12/2014"
    end
    
    generate date2 = date(date, "DMY") - date("1/1/1960", "DMY")
    
    list
    
         +--------------------+
         |      date1   date2 |
         |--------------------|
      1. | 01/01/2012   18993 |
      2. | 01/01/2011   18628 |
      3. | 01/01/2014   19724 |
      4. | 19/12/2014   20076 |
         +--------------------+
    

    如果包含日期的变量是数字:

    clear
    
    input date1
    18993
    18628
    19724
    20076
    end
    
    format %tdDD/NN/CCYY date1
    
    generate date2 = date1 - date("1/1/1960", "DMY")