我使用下面的代码来获取使用java的iso时间。我想要1分钟的时间来从我的数据库中获取1分钟的旧数据。 在我的DB时间保存为ios格式。有谁能告诉我如何使用iso时间格式从当前时间中扣除1分钟?
//我的代码
TimeZone tz = TimeZone.getTimeZone("UTC");
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'");
df.setTimeZone(tz);
String nowAsISO = df.format(new Date());
答案 0 :(得分:1)
尝试使用Calendar
类:
TimeZone tz = TimeZone.getTimeZone("UTC");
Calendar c = Calendar.getInstance();
c.setTimeZone(tz);
c.set(Calendar.MINUTE, c.get(Calendar.MINUTE) - 1);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'");
String nowAsISO = df.format(c.getTime());
System.out.println(nowAsISO);
答案 1 :(得分:1)
这应该可以正常工作:
LocalDateTime ldt = Instant.now()
.atZone(ZoneId.systemDefault())
.toLocalDateTime()
.minusMinutes(1);