字符串日期转化以及yyyy-MM-dd HH:mm:ss大小写解释

时间:2023-03-09 16:33:53
字符串日期转化以及yyyy-MM-dd HH:mm:ss大小写解释

字符串日期转化

字符串转换为Calendar对象:

    // 日期字符串

    private String dateStr;

    // 将字符串转换后的Calender对象

    private Calendar calendar = null;

    public Calendar getCalendar() {

        // 声明一个Date类型的对象

        Date date = null;

        // 声明格式化日期的对象

        SimpleDateFormat format = null;

        if (dateStr != null) {

            // 创建日期的格式化类型

            format = new SimpleDateFormat("yyyy-MM-dd");

            // 创建一个Calendar类型的对象

            calendar = Calendar.getInstance();

            // forma.parse()方法会抛出异常

            try {

                //解析日期字符串,生成Date对象

                date = format.parse(dateStr);

                // 使用Date对象设置此Calendar对象的时间

                calendar.setTime(date);

            } catch (Exception e) {

                e.printStackTrace();

            }

        }

Calendar转换字符串:

Calendar calendar = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");// 设置你想要的格式String dateStr = df.format(calendar.getTime());
System.out.println(dateStr);

YYYY-mm-dd HH:MM:SS大小写解释

HH是24小时制,hh是12小时制
区别就是:大写的H是二十四小时制的小时数(0-23),小写的h是十二小时制的小时数(am/pm 1-12)

//24小时制
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//12小时制
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String date1 = "2017-04-23 16:45:12";
try {
sdf.parse(date1);
System.out.println(sdf.format(sdf.parse(date1))); //2017-04-23 16:45:12
System.out.println(sdf1.format(sdf.parse(date1))); //2017-04-23 04:45:12
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Java里面MM表示月 mm表示分钟 HH表示 24小时制 hh表示12小时制
Oracle里面 mm表示月 mi表示分钟 hh24表示小时
mm与m等,它们的区别为是否有前导零:H,m,s表示非零开始,HH,mm,ss表示从零开始。
比如凌晨1点2分,HH:mm显示为01:02,H:m显示为1:2。

d               月中的某一天。一位数的日期没有前导零。  
  dd             月中的某一天。一位数的日期有一个前导零。  
  ddd           周中某天的缩写名称,在   AbbreviatedDayNames   中定义。  
  dddd         周中某天的完整名称,在   DayNames   中定义。  
  M               月份数字。一位数的月份没有前导零。  
  MM             月份数字。一位数的月份有一个前导零。  
  MMM           月份的缩写名称,在   AbbreviatedMonthNames   中定义。  
  MMMM         月份的完整名称,在   MonthNames   中定义。  
  y               不包含纪元的年份。不具有前导零。  
  yy             不包含纪元的年份。具有前导零。  
  yyyy         包括纪元的四位数的年份。  
  gg             时期或纪元。  
  h               12   小时制的小时。一位数的小时数没有前导零。  
  hh             12   小时制的小时。一位数的小时数有前导零。  
  H               24   小时制的小时。一位数的小时数没有前导零。  
  HH             24

https://blog.****.net/anmoyyh/article/details/70670363

https://blog.****.net/u013400939/article/details/47761113