Java 实现日期的格式化,月份和天不足两位时补上0

createh56个月前 (12-27)技术教程60

问题:在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);
    }
}

路漫漫其修远兮,吾将上下而求索

译文:在追寻真理方面,前方的道路还很漫长,但我将百折不挠,不遗余力地去追求和探索。


如果您有什么好的想法与方法,欢迎评论区留言,我们一起讨论~

相关文章

详细介绍一下Spring Boot中对于日期时间数据类型的处理?

时间和日期处理是在日常开发工作中比较重要的一个处理操作,在SpringBoot应用程序中,对于时间和日期的处理涉及到了程序处理的各个方面的内容,包括了对于数据库中的时间日期的存储、如何接受接口中传入的...

java总结:5.sql往前往后推小时、天、月、年时间问题

DATE_ADD(date,INTERVAL expr unit)date:起始日期或者起始时间expr:指定的是一个间隔值,在起始时间中增加或者减少,注意:expr是一个字符串.对于负值间隔,可以以...