我使用的日期格式为:yyyy-mm-dd。

如何将此日期增加一天?


当前回答

构造一个Calendar对象并调用add(Calendar。目前为止,1);

其他回答

像这样的东西应该可以达到目的:

String dt = "2008-01-01";  // Start date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
c.setTime(sdf.parse(dt));
c.add(Calendar.DATE, 1);  // number of days to add
dt = sdf.format(c.getTime());  // dt is now the new date

Java 8添加了一个新的API来处理日期和时间。

在Java 8中,你可以使用以下代码行:

// parse date from yyyy-mm-dd pattern
LocalDate januaryFirst = LocalDate.parse("2014-01-01");

// add one day
LocalDate januarySecond = januaryFirst.plusDays(1);

在java 8中,您可以使用java.time. localdate

LocalDate parsedDate = LocalDate.parse("2015-10-30"); //Parse date from String
LocalDate addedDate = parsedDate.plusDays(1);   //Add one to the day field

您可以将其转换为java.util.Date对象,如下所示。

Date date = Date.from(addedDate.atStartOfDay(ZoneId.systemDefault()).toInstant());

您可以将LocalDate格式化为字符串,如下所示。

String str = addedDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));

其实很简单。 一天包含86400000毫秒。 所以首先你从系统中通过使用System. currenttimemillis()获得当前时间,单位是millis 添加8000000毫秒,并使用日期类生成以毫秒为单位的日期格式。

例子

String Today = new Date(System.currentTimeMillis()).toString();

今天是2019-05-9

String明天=新的日期(System.currentTimeMillis() + 86400000).toString();

明天将是2019-05-10

最新消息。

字符串后天将是2019-05-11

我认为最快的一个,永远不会被弃用,它是一个深入核心的

let d=new Date();
d.setTime(d.getTime()+86400000);
console.log(d);

只有一行, 只有两个命令。 它工作在日期类型,不使用日历。

我一直认为最好在代码端使用unix时间,并在准备好显示给用户时显示日期。

要打印日期d,我使用

let format1 = new Intl.DateTimeFormat('en', { year: 'numeric', month: 'numeric', month: '2-digit', day: '2-digit'});
let [{ value: month },,{ value: day },,{ value: year }] = format1.formatToParts(d);

它可以设置月、年和日,但可以扩展到小时、分钟和秒,也可以根据国家国旗在标准表示中使用。