我正在寻找日期/时间添加的标准.我找不到任何东西.特别是我希望找到一个规范,定义当你在1月31日之前添加一个月的时候应该发生什么.是正确的答案2月28日(/ 29日)? 3月1日3月2日
我看到不同工具(这里是PHP和MySQL)之间的不一致的实现,而我正在努力寻找一些基于我的工作的标准.
不同的结果:
PHP
$end = strtotime("+1 month", 1314835200);
//1317513600 Sat, 01 Oct 2011 20:00:00 -0400
MySQL的
SELECT UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(1314835200), INTERVAL 1 MONTH));
#1317427200 Fri, 30 Sep 2011 20:00:00 -0400
神谕
SELECT ADD_MONTHS('31-Aug-11', 1) FROM dual;
#30-SEP-11
(对于格式更改抱歉,我的oracle foo很弱)
Java的
Calendar c = Calendar.getInstance();
c.clear();
c.set( 2011, Calendar.AUGUST, 31 );
c.add( Calendar.MONTH, 1 );
c.getTime()
#Fri Sep 30 00:00:00 EDT 2011