4 回答

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊
看看時(shí)間類(lèi)別
import?groovy.time.TimeCategory def?theDate?=?use(TimeCategory){new?Date()?+?90.days}.format('yyyy-MM-dd?HH:mm:ss.S')

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊
以下是您如何以更 Groovy 風(fēng)格編寫(xiě) 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貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
雖然 Groovy 為舊的 JavaDate類(lèi)添加了一些進(jìn)一步的支持,但我仍然認(rèn)為您不應(yīng)該使用它。它的設(shè)計(jì)一直很糟糕,現(xiàn)在已經(jīng)過(guò)時(shí)了。請(qǐng)改用現(xiàn)代 Java 日期和時(shí)間 API java.time。很抱歉,我必須信任您來(lái)翻譯 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));
剛才運(yùn)行時(shí)的輸出是:
2020-01-01 08:37:13.3
如果不是非洲/巴馬科,請(qǐng)?zhí)鎿Q您所需的時(shí)區(qū)。

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以使用日歷來(lái)實(shí)現(xiàn)這一點(diǎn)
Calendar cal = new GregorianCalendar();
cal.add(Calendar.DATE, 90);
Date date = cal.getTime();
所有步驟必須分開(kāi),不能在一行中。
添加回答
舉報(bào)