博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java日期转换SimpleDateFormat格式大全
阅读量:4122 次
发布时间:2019-05-25

本文共 4213 字,大约阅读时间需要 14 分钟。

public class SimpleDateFormat extends DateFormat

SimpleDateFormat 是一个特别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化。

SimpleDateFormat 允许以为日期-时间格式化选择任何用户指定的方式启动。 但是,希望用 DateFormat 中的getTimeInstance、 getDateInstance 或 getDateTimeInstance 创建一个日期-时间格式化程序。 每个类方法返回一个以缺省格式化方式初始化的日期/时间格式化程序。 可以根据需要用applyPattern 方法修改格式化方式。

SimpleDateFormat函数的继承关系:

Java.lang.Object   |   +----java.text.Format           |           +----java.text.DateFormat                   |                   +----java.text.SimpleDateFormat

下面是个小例子:

import java.text.*;import java.util.Date;/**  SimpleDateFormat函数语法:   G 年代标志符  y 年  M 月  d 日  h 时 在上午或下午 (1~12)  H 时 在一天中 (0~23)  m 分  s 秒  S 毫秒  E 星期  D 一年中的第几天  F 一月中第几个星期几  w 一年中第几个星期  W 一月中第几个星期  a 上午 / 下午 标记符  k 时 在一天中 (1~24)  K 时 在上午或下午 (0~11)  z 时区 */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());    }      }

效果:

2004年12月16日 17时24分27秒04/12/16 17:242004-12-16 17:24:272004年12月16日 17时24分27秒 星期四一年中的第 351 天 一年中第51个星期 一月中第3个星期 在一天中17时 CST时区16 Dec 2004 09:24:27 GMT2004-12-16 17:24:27Thu Dec 16 17:24:27 CST 2004

下面是个JavaBean:

public class FormatDateTime {       public static String toLongDateString(Date dt){        SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");               return myFmt.format(dt);    }       public static String toShortDateString(Date dt){        SimpleDateFormat myFmt=new SimpleDateFormat("yy年MM月dd日 HH时mm分");               return myFmt.format(dt);    }          public static String toLongTimeString(Date dt){        SimpleDateFormat myFmt=new SimpleDateFormat("HH mm ss SSSS");               return myFmt.format(dt);    }    public static String toShortTimeString(Date dt){        SimpleDateFormat myFmt=new SimpleDateFormat("yy/MM/dd HH:mm");               return myFmt.format(dt);    }       public static void main(String[] args) {        Date now=new Date();        System.out.println(FormatDateTime.toLongDateString(now));        System.out.println(FormatDateTime.toShortDateString(now));        System.out.println(FormatDateTime.toLongTimeString(now));        System.out.println(FormatDateTime.toShortTimeString(now));    }      }

调用的main 测试结果:

2004年12月16日 17时38分26秒 星期四04年12月16日 17时38分17 38 26 096504/12/16 17:38

24小时制时间显示:

publicclass Datetime{    public staticvoid main(String args[]){         java.util.Datecurrent=newjava.util.Date();           java.text.SimpleDateFormat sdf=newjava.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");           String c=sdf.format(current);           System.out.println(c);    }}

12小时制时间显示:

public class Datetime {    public staticvoid main(String args[]){         java.util.Datecurrent=newjava.util.Date();           java.text.SimpleDateFormat sdf=newjava.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");           String c=sdf.format(current);           System.out.println(c);    }}

两者区别:yyyy-MM-dd HH:mm:ss ; yyyy-MM-dd hh:mm:ss

如下:

字母 日期或时间元素 表示 示例
G Era标志符 Text AD
y Year 1996; 96
M 年中的月份 Month July; Jul;07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
a Am/pm 标记 Text PM
H 一天中的小时数 (0-23) Number 0
k 一天中的小时数 (1-24) Number 24
K am/pm 中的小时数 (0-11) Number 0
h am/pm 中的小时数 (1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
Z 时区 RFC 822 time zone -0800

原文链接:

转载地址:http://fvvpi.baihongyu.com/

你可能感兴趣的文章
JS 横向图片跑马灯效果
查看>>
JS 屏蔽按键效果和改变按键效果
查看>>
JS 屏蔽右键菜单
查看>>
Java 的上溯造型和下溯造型以及举例,以及判断参数等指向的类
查看>>
Java 轻量级锁原理详解(Lightweight Locking)
查看>>
Java 运算符总计
查看>>
JSP 页面缓存以及清除缓存
查看>>
Java多线程的相关机制
查看>>
Java线程知识深入解析(1)
查看>>
Java线程知识深入解析(2)
查看>>
RUP软件开发设计模式
查看>>
十条不错的编程观点
查看>>
惹恼程序员的十件事
查看>>
Java 线程编程中的同步、重复、定时
查看>>
数据库 SQLServer2005 中将一个表中从未重复的项筛选出来、去除重复项,只要一条...
查看>>
Java WEB开发时struts标签 显示set内容
查看>>
JavaWEB开发中用到DWR时的配置、调用、Form提交的方法
查看>>
JS 双人小游戏
查看>>
JS 字符串函数
查看>>
JavaWEB开发时FCKeditor类似office界面的ajax框架,加入后就能做界面类似office,能进行简单的文本编辑操作+配置手册...
查看>>