Java 实现日期的格式化,月份和天不足两位时补上0
问题:在java开发中,有时候我们单独获取日期的月份和天数是一个int类型的整数,小于10的时候,是一位数,而我们需要的是两位数,例如:01、02、03、04、05…
代码
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
import org.apache.commons.lang3.StringUtils;
public class Application {
public static void main(String[] args) throws Exception {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date time = simpleDateFormat.parse("2020-01-03");
Calendar calendar = Calendar.getInstance();
calendar.setTime(time);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.printf("当前月份:%s,当前几号:%s%n", month, day);
// 方法一:
System.out.printf("当前月份:%s,当前几号:%s%n", month > 10 ? month : "0" + month, day > 10 ? day : "0" + day);
// 方法二:
// StringUtils.leftPad() 左侧补齐 第一个参数:原始字符串,第二个参数:字符串的长度,第三个是补充的字符串
String normalizeMonth = StringUtils.leftPad(String.valueOf(calendar.get(Calendar.MONTH) + 1), 2, '0');
String normalizeDay = StringUtils.leftPad(String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)), 2, '0');
System.out.printf("当前月份:%s,当前几号:%s%n", normalizeMonth, normalizeDay);
}
}
路漫漫其修远兮,吾将上下而求索
译文:在追寻真理方面,前方的道路还很漫长,但我将百折不挠,不遗余力地去追求和探索。
如果您有什么好的想法与方法,欢迎评论区留言,我们一起讨论~