val df = new SimpleDateFormat("MMM dd yyyy HH:mm:ss.SSS zzz")
var date1 = new Date()
println(date1.getTime)
结果:
1407309964324
如何将它增加5分钟?
答案 0 :(得分:5)
您可以使用日历类的add
方法在日历常量中添加指定日期,分钟,小时等的时间。
<强>样品:强>
Date date1 = new Date();
Calendar c = Calendar.getInstance();
c.setTime(date1);
c.add(Calendar.MINUTE, 5); //adds five minute to the calendar's date
System.out.println(date1.getTime()); //current time
System.out.println(c.getTime().getTime()); //current time + 5 minutes
答案 1 :(得分:4)
好吧,5分钟总是300,000毫秒,所以:
long millis = date1.getTime();
millis += 300000;
Date date2 = new Date(millis);
或许更可读:
long millis = date1.getTime();
millis += TimeUnit.MINUTES.toMilliseconds(5);
Date date2 = new Date(millis);
答案 2 :(得分:3)
我要注意Date
和Calendar
通常被认为设计得非常糟糕。 Java 8有一个新的日期/时间库(对于以前的Java版本,使用{8},Java 8库所基于的,或Joda Time),使用它来编写:
import java.time.OffsetDateTime;
...
OffsetDateTime dt = OffsetDateTime.now();
OffsetDateTime dt1 = dt.plusMinutes(5);
答案 3 :(得分:1)
在java中,您可以使用Calendar
来执行此操作:
Date date1 = new Date();
Calendar c= new GregorianCalendar();
c.setTime(date1);
c.add(Calendar.MINUTE, 5);
date1 = c.getTime();
答案 4 :(得分:1)
使用Java8,您可以使用以下scala代码将5分钟增加到提供的Date
值:
// because the supplied Date in your question uses this Date structure:
import java.util.Date
import java.time.Instant
import java.time.LocalDateTime
import java.time.ZoneId
// supplied date from your question
val date1 = new Date()
// convert to LocalDateTime
val ldt = LocalDateTime.ofInstant(Instant.ofEpochMilli(date1.getTime), ZoneId.systemDefault)
// add five minutes
val incrementedBy5 = ldt.plusMinutes(5)
// convert to Long
val asLongInt: Long = incrementedBy5.atZone(ZoneId.systemDefault()).toEpochSecond
或单行:
LocalDateTime.ofInstant(Instant.ofEpochMilli(date1.getTime), ZoneId.systemDefault).plusMinutes(5).atZone(ZoneId.systemDefault()).toEpochSecond