如何从iso时间减去1分钟

时间:2016-03-10 09:52:13

标签: java datetime datetime-format

我使用下面的代码来获取使用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());

2 个答案:

答案 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);