4 回答

TA貢獻1835條經驗 獲得超7個贊
看看時間類別
import?groovy.time.TimeCategory def?theDate?=?use(TimeCategory){new?Date()?+?90.days}.format('yyyy-MM-dd?HH:mm:ss.S')

TA貢獻1784條經驗 獲得超9個贊
以下是您如何以更 Groovy 風格編寫 Java 示例。
// you can assemble aggregate types by left shifting the aggregates
// I'm not endorsing this approach, necessarily, just pointing it out as an alternative?
ZonedDateTime now = LocalDate.now() << LocalTime.now() << ZoneId.of('Africa/Bamako')
// the plus operator is overloaded
ZonedDateTime in90Days = now + 90
// you can pass a String to format without needed a full DateTimeFormatter instance
println in90Days.format('uuuu-MM-dd HH:mm:ss.S')

TA貢獻1828條經驗 獲得超3個贊
雖然 Groovy 為舊的 JavaDate類添加了一些進一步的支持,但我仍然認為您不應該使用它。它的設計一直很糟糕,現在已經過時了。請改用現代 Java 日期和時間 API java.time。很抱歉,我必須信任您來翻譯 Java 代碼。
? ? DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss.S");
? ? ZonedDateTime now = ZonedDateTime.now(ZoneId.of("Africa/Bamako"));
? ? ZonedDateTime in90Days = now.plusDays(90);
? ? System.out.println(in90Days.format(formatter));
剛才運行時的輸出是:
2020-01-01 08:37:13.3
如果不是非洲/巴馬科,請替換您所需的時區。

TA貢獻1936條經驗 獲得超7個贊
您可以使用日歷來實現這一點
Calendar cal = new GregorianCalendar();
cal.add(Calendar.DATE, 90);
Date date = cal.getTime();
所有步驟必須分開,不能在一行中。
添加回答
舉報