如何从 iso 时间中减去 1 分钟

How to deduct 1 min from iso time

我使用下面的代码通过 java 获取 iso 时间。我想要 1 分钟的旧时间以便从我的数据库中获取 1 分钟的旧数据。 在我的数据库中,时间保存为 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());

试试这个,使用 Calendar class:

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

这应该可以正常工作:

    LocalDateTime ldt = Instant.now()
                    .atZone(ZoneId.systemDefault())
                    .toLocalDateTime()
                    .minusMinutes(1);