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

createh54个月前 (12-27)技术教程47

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

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

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


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

相关文章

100个Java工具类之53:日历类Calendar

Calendar类主要作用是提供日期转换。它是一个抽象类,需调用特定方法getInstance来获取实例。下文是对其通用用法的介绍。一、获取当前时间//获取当前时间 返回Date类型 Calendar...

Java 8 新特性:Date-Time API java datetimeformatter

Java 8 引入的 Date-Time API (java.time 包) 为日期和时间处理带来了显著的改进,解决了 java.util.Date 类的许多痛点:非线程安全时区处理麻烦格式化和时间计...

日期循环遍历 shell & java python 日期遍历

#挑战30天在头条写日记#1、shell 日期循环输出 shell 脚本如下:#!/bin/bash date=20210201 # 起始日期 end=20210205 # 结束日期 wh...

SpringBoot中使用LocalDateTime踩坑记录

支持一对一答疑的购买地址前言近日心血来潮想做一个开源项目,目标是做一款可以适配多端、功能完备的模板工程,包含后台管理系统和前台系统,开发者基于此项目进行裁剪和扩展来完成自己的功能开发。本项目基于Jav...