怎么用java将获取的日期往后添加一天

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用java将获取的日期往后添加一天相关的知识,希望对你有一定的参考价值。

//你试试 打代码不容易,请采纳

public static void main(String[] args) throws java.text.ParseException 
  Date d = new Date();  
  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  String date = format.format(d);  
  System.out.println("现在的日期是:" + date);  
  
  Calendar ca = Calendar.getInstance();  
  ca.add(Calendar.DATE, 20);// 30为增加的天数,可以改变的  
  d = ca.getTime();  
  String backTime = format.format(d);  
  System.out.println("增加天数以后的日期:" + backTime);  
  
    

参考技术A package BaseExec;

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class GetCurDate

public static void main(String[] args)
// TODO Auto-generated method stub
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
System.out.println("当前日期: "+sf.format(c.getTime()));
c.add(Calendar.DAY_OF_MONTH, 1);
System.out.println("增加一天后日期 : "+sf.format(c.getTime()));



MySQL:如何在查询中向日期时间字段添加一天

【中文标题】MySQL:如何在查询中向日期时间字段添加一天【英文标题】:MySQL: How to add one day to datetime field in query 【发布时间】:2011-02-18 03:00:39 【问题描述】:

在我的表中,我有一个名为 eventdate 的字段,格式为 datetime,例如 2010-05-11 00:00:00

我如何进行查询,以便将 一天 添加到 eventdate,例如,如果今天是 2010-05-11,我想在 where 子句中显示以返回明天的所有记录日期。

更新:

我试过了:

select * from fab_scheduler where custid = 1334666058 and DATE_ADD(eventdate, INTERVAL 1 DAY)

但不幸的是,即使我添加大于 1 的间隔,它也会返回相同的记录。

结果:

2010-05-12 00:00:00

但我只想选择明天日期的记录。

【问题讨论】:

【参考方案1】:

你可以使用DATE_ADD()函数:

... WHERE DATE(DATE_ADD(eventdate, INTERVAL -1 DAY)) = CURRENT_DATE

也可以用在SELECT语句中:

SELECT DATE_ADD('2010-05-11', INTERVAL 1 DAY) AS Tomorrow;
+------------+
| Tomorrow   |
+------------+
| 2010-05-12 |
+------------+
1 row in set (0.00 sec)

【讨论】:

@phpBOY:我认为你错过了 `= CURRENT_DATE` 部分。 我试过这个select * from fab_scheduler where custid = 1334666058 and DATE(DATE_ADD(eventdate, INTERVAL 1 DAY)) = CURRENT_DATE 但现在它返回空结果集:( 我个人会使用 CURDATE() @phpBOY:你是对的。您必须使用-1 来匹配CURRENT_DATE。尝试使用更新后的查询。 @Daniel Vassallo:请您构建查询,我得到的是空记录集。谢谢【参考方案2】:

可以使用 MySQL 特定的语法糖:

SELECT ... date_field + INTERVAL 1 DAY

看起来比 DATE_ADD 函数更漂亮

【讨论】:

【参考方案3】:

试试这个,因为我会这样做:)

SELECT * 
FROM fab_scheduler
WHERE custid = '123456'
AND CURDATE() = DATE(DATE_ADD(eventdate, INTERVAL 1 DAY))

【讨论】:

我认为这行不通。 eventdate 永远不会等于 eventdate + 1 day。我想你打算在那里使用CURDATE()【参考方案4】:

如果您能够使用 NOW(),这将是最简单的形式:

SELECT * FROM `fab_scheduler` WHERE eventdate>=(NOW() - INTERVAL 1 DAY)) AND eventdate<NOW() ORDER BY eventdate DESC;

使用 MySQL 5.6+ 查询应该可以。根据 sql server,您可能需要使用 CURRDATE() 而不是 NOW() - 这是 DATE(NOW()) 的别名,将仅返回 datetime 数据类型的日期部分;

【讨论】:

【参考方案5】:

你可以试试这个:

SELECT DATE(DATE_ADD(m_inv_reqdate, INTERVAL + 1 DAY)) FROM  tr08_investment

【讨论】:

【参考方案6】:

这个怎么样:

select * from fab_scheduler where custid = 1334666058 and eventdate = eventdate + INTERVAL 1 DAY

【讨论】:

【参考方案7】:
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 day");

或者,更简单:

date("Y-m-d H:i:s", time()+((60*60)*24));

【讨论】:

你没有指望夏令时。 mktime 会更好。

以上是关于怎么用java将获取的日期往后添加一天的主要内容,如果未能解决你的问题,请参考以下文章

java获取 昨天 今天 明天的日期

如何在 Oracle 的日期中添加一天的最后一小时?

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

java 怎么获取指定日期n天后的日期

MySQL:如何在查询中向日期时间字段添加一天

java如何创建一个指定的日期对象?