查找一年的最后日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查找一年的最后日期相关的知识,希望对你有一定的参考价值。

我有一个带有年份的字符串变量:

clear
input str4 year
"2012"
"2013"
"2014"
"2015"
"2016"
"2017"
"2018"
end

当我做以下事情时,我无法到处获得31dec201X

g date = date(year, "Y") + 364
form date %td 

l

     +------------------+
     | year        date |
     |------------------|
  1. | 2012   30dec2012 |
  2. | 2013   31dec2013 |
  3. | 2014   31dec2014 |
  4. | 2015   31dec2015 |
  5. | 2016   30dec2016 |
     |------------------|
  6. | 2017   31dec2017 |
  7. | 2018   31dec2018 |
     +------------------+

如何在所有观察中获得12月的最后日期?

答案

而不是date()函数,你可以使用yearly()dofy()

generate wanted = dofy(yearly(year, "Y") + 1) - 1
format wanted %td 

list, separator(0) 

     +------------------+
     | year      wanted |
     |------------------|
  1. | 2012   31dec2012 |
  2. | 2013   31dec2013 |
  3. | 2014   31dec2014 |
  4. | 2015   31dec2015 |
  5. | 2016   31dec2016 |
  6. | 2017   31dec2017 |
  7. | 2018   31dec2018 |
     +------------------+

这是一个更通用的解决方案,其想法是找到明年的第一天并减去一个。

以上是关于查找一年的最后日期的主要内容,如果未能解决你的问题,请参考以下文章

SQL语句 如何取得指定月份的最后一天的日期

python练习题4-判断日期是一年的第几天

根据一个数字日期,判定这个日期是这一年的第几天,列如:20160211,计算后结果为42.

Java API 获得一年的夏令时边界

如何项sql数据库中添加一年的日期

返回任何一年的开始和结束[重复]