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

createh55个月前 (12-27)技术教程54

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

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

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


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

相关文章

JAVA常用时间工具类(LocalDateTime)

判断当前时间是在某个时间段内Date转换为LocalDateTimeLocalDateTime转换为Date获取指定日期的毫秒获取指定日期的秒获取指定时间的指定格式获取"yyyy-MM-dd...

在java中进行日期时间比较的4种方法

1. Date.compareTo()java.util.Date提供了在Java中比较两个日期的经典方法compareTo()。如果两个日期相等,则返回值为0。如果Date在date参数之后,则返回...

Java如何获取当前日期? java如何获取当前日期和时间

Talk is cheap, Show me the code. -- by: Linus Torvalds使用获取当时日期的方式如下:System.currentTimeMillis(); 获取当时...

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

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