2 回答

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊
假設(shè)這day
是一個(gè)int
然后與
day = String.format("%02d", day);
您正在嘗試將字符串重新分配給int
嘗試
String dayStr = String.format("%02d", day);
編輯
所以既然day
已經(jīng)是那么就行不通意味著它是一個(gè)String
format("%02d", day);
d
int
所以將其轉(zhuǎn)換為int
第一個(gè)
day = String.format("%02d", Integer.valueOf (day));

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果允許我退后一步:這可能有點(diǎn)像設(shè)計(jì)問(wèn)題。您不應(yīng)該將日期存儲(chǔ)在格式的字符串中dd/mm/yyyy。您應(yīng)該將日期存儲(chǔ)在LocalDate. 當(dāng)然,如果日期是字符串輸入,例如來(lái)自用戶(hù),您需要接受這樣的字符串。然后轉(zhuǎn)換為L(zhǎng)ocalDate:
? ? DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("d/M/u");
? ? String dateString = "1/9/2019";
? ? LocalDate date = LocalDate.parse(dateString, dateFormatter);
要將月份中的某一天格式化為兩位數(shù),請(qǐng)使用另一個(gè)DateTimeFormatter:
? ? DateTimeFormatter dayOfMonthFormatter = DateTimeFormatter.ofPattern("dd");
? ? String dayString = date.format(dayOfMonthFormatter);
? ? System.out.println("Day in two digits is " + dayString);
這種情況下的輸出是:
兩位數(shù)的日期是 01
或者輸出帶有兩位數(shù)日期和兩位數(shù)月份的完整日期:
? ? DateTimeFormatter outputDateFormatter = DateTimeFormatter.ofPattern("dd/MM/uuuu");
? ? String outputString = date.format(outputDateFormatter);
? ? System.out.println("Output: " + outputString);
輸出:2019年1月9日
添加回答
舉報(bào)