SimpleDateFormat日期格式(浅面)

Posted aspirant

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SimpleDateFormat日期格式(浅面)相关的知识,希望对你有一定的参考价值。

Java中使用SimpleDateFormat类的构造函数SimpleDateFormat(String str)构造格式化日期的格式,

通过format(Date date)方法将指定的日期对象格式化为指定格式的字符串.

 我自己写了个例子:

    @Test
    public void testBasicPTFWJG1() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        Date date = null;
        try {
            date = sdf.parse("2016-10-20 11:27:08");
        } catch (ParseException e) {
            e.printStackTrace();
        }


        SimpleDateFormat sdf1 = new SimpleDateFormat("YYYYMMDDHHMMSS");
       String abc= sdf1.format(date);

        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMddHHmmss");
        String bcd= sdf2.format(date);

        System.out.println("abc="+abc);
        System.out.println("bcd="+bcd);
    }

 

SimpleDateFormat构造函数中字符串的格式,以及各部分代表的含义:

import java.text.SimpleDateFormat;
import java.util.Date;

public class test{

    public static void main(String args[]) {
        Date newTime = new Date();
        //设置时间格式
        SimpleDateFormat sdf1 = new SimpleDateFormat("y-M-d h:m:s a E");
        SimpleDateFormat sdf2 = new SimpleDateFormat("yy-MM-dd hh:mm:ss a E");
        SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MMM-ddd hhh:mmm:sss a E");
        SimpleDateFormat sdf4 = new SimpleDateFormat("yyyyy-MMMM-dddd hhhh:mmmm:ssss a E");
        
        //获取的时间,是本机的时间
        String formatDate1 = sdf1.format(newTime);
        String formatDate2 = sdf2.format(newTime);
        String formatDate3 = sdf3.format(newTime);
        String formatDate4 = sdf4.format(newTime);

        System.out.println(formatDate1);  
        System.out.println(formatDate2); 
        System.out.println(formatDate3); 
        System.out.println(formatDate4); 
    }
}

字符串"yyyy-MM-dd hh:mm:ss",其中:

 

yyyy : 代表年(不去区分大小写) 假设年份为 2017

    "y" , "yyy" , "yyyy" 匹配的都是4位完整的年 如 : "2017"

    "yy" 匹配的是年分的后两位 如 : "15"

    超过4位,会在年份前面加"0"补位 如 "YYYYY"对应"02017"

 

MM : 代表月(只能使用大写) 假设月份为 9

    "M" 对应 "9"

    "MM" 对应 "09"

    "MMM" 对应 "Sep"

    "MMMM" 对应 "Sep"

    超出3位,仍然对应 "September"

    

dd : 代表日(只能使用小写) 假设为13号

    "d" , "dd" 都对应 "13"

    超出2位,会在数字前面加"0"补位. 例如 "dddd" 对应 "0013"

 

hh : 代表时(区分大小写,大写为24进制计时,小写为12进制计时) 假设为15时

    "H" , "HH" 都对应 "15" , 超出2位,会在数字前面加"0"补位. 例如 "HHHH" 对应 "0015"

    "h" 对应 "3"

    "hh" 对应 "03" , 超出2位,会在数字前面加"0"补位. 例如 "hhhh" 对应 "0003"

 

mm : 代表分(只能使用小写) 假设为32分

    "m" , "mm" 都对应 "32" ,  超出2位,会在数字前面加"0"补位. 例如 "mmmm" 对应 "0032"

 

ss : 代表秒(只能使用小写) 假设为15秒

    "s" , "ss" 都对应 "15" , 超出2位,会在数字前面加"0"补位. 例如 "ssss" 对应 "0015"

 

E : 代表星期(只能使用大写) 假设为 Sunday

    "E" , "EE" , "EEE" 都对应 "Sun"

    "EEEE" 对应 "Sunday" , 超出4位 , 仍然对应 "Sunday"

 

a : 代表上午还是下午,如果是上午就对应 "AM" , 如果是下午就对应 "PM"

 

 

 

其中的分隔符"-"可以替换成其他非字母的任意字符(也可以是汉字),例如:

部分修改:

技术分享图片

运行结果:

技术分享图片

 

 

参考:SimpleDateFormat日期格式(浅面)

以上是关于SimpleDateFormat日期格式(浅面)的主要内容,如果未能解决你的问题,请参考以下文章

Java 中如何格式化一个日期?如格式化为 ddMMyyyy 的形式?

Java日期格式化(DateFormat类和SimpleDateFormat类)

Java SE基础部分——常用类库之SimpleDateFormat(日期格式化)

使用SimpleDateFormat验证日期格式

SimpleDateFormat日期格式化总结

详解Java中格式化日期的DateFormat与SimpleDateFormat类