SimpleDateFormat日期格式化总结分析

访客 阅读:242 2019-11-27 13:13:40 评论:0

1.new一个java.util.Date对象,调用它的setYear、setMonth等等方法,设置你要的年月日。不过这种做法不推荐,因为setYear等方法已经过时了。
2.new一个java.util.SimpleDateFormat类的实例,构造方法可以指定日期格式,例如yyyy-MM-dd,其中yyyy表示四位年份,MM表示两位月份,dd表示两位日期。然后通过调用这个SimpleDateFormat实例的parse方法可以解析获得指定日期的Date对象。


格式:例如 "20180516" 表示为:"yyyyMMdd"

yyyy:年
MM:月
dd:日
hh:1~12小时制(1-12)
HH:24小时制(0-23)
mm:分
ss:秒
S:毫秒
E:星期几
D:一年中的第几天
F:一月中的第几个星期(会把这个月总共过的天数除以7)
w:一年中的第几个星期
W:一月中的第几星期(会根据实际情况来算)
a:上下午标识
k:和HH差不多,表示一天24小时制(1-24)。
K:和hh差不多,表示一天12小

使用示例:
public class FormatDateTime {

    public static void main(String[] args) {
        SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm");
        SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//等价于now.toLocaleString()
        SimpleDateFormat myFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
        SimpleDateFormat myFmt4=new SimpleDateFormat(
                "一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
        Date now=new Date();
        System.out.println(myFmt.format(now));
        System.out.println(myFmt1.format(now));
        System.out.println(myFmt2.format(now));
        System.out.println(myFmt3.format(now));
        System.out.println(myFmt4.format(now));
        System.out.println(now.toGMTString());
        System.out.println(now.toLocaleString());
        System.out.println(now.toString());
    }   
   
}

结果:
2018年12月27日 11时24分57秒
18/12/27 11:24
2018-12-27 11:24:57
2018年12月27日 11时24分57秒 星期四
一年中的第 361 天 一年中第52个星期 一月中第5个星期 在一天中11时 CST时区
27 Dec 2018 03:24:57 GMT
2018-12-27 11:24:57
Thu Dec 27 11:24:57 CST 2018


private static long parseTime(String strTime) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
long time = 0L;
try {
time = format.parse(strTime).getTime();
} catch (ParseException e) {
e.printStackTrace();
}
return time;
}

public static void main(String[] args) {
String aString="2018-12-27";
long aTime=parseTime(aString);
System.out.println(aTime);
SimpleDateFormat aDate=new SimpleDateFormat("yyyy-MM-dd");
System.out.println(aDate.format(aTime));

}

结果:
1545840000000
2018-12-27
很方便的实现了string转时间

标签:java日期
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
关注我们

扫一扫关注我们,了解最新精彩内容