之前有篇博客是使用NSDateFormatter来对时间进行格式化输出,但使用起来有点繁琐,今天介绍下最近刚刚使用的SimpleDateFormat.

1 public class SimpleDateFormat extends DateFormat

日期和时间模式

日期和时间格式由日期和时间模式 字符串指定。在日期和时间模式字符串中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (') 引起来,以免进行解释。"''" 表示单引号。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在解析时与输入字符串进行匹配。

定义了以下模式字母(所有其他字符 'A' 到 'Z' 和 'a' 到 'z' 都被保留):

字母 日期或时间元素 表示 示例
G Era 标志符 Text AD
y Year 199696
M 年中的月份 Month JulyJul07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text TuesdayTue
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 TimePSTGMT-08:00
Z 时区 RFC 822 time zone -0800

示例

以下示例显示了如何在美国语言环境中解释日期和时间模式。给定的日期和时间为美国太平洋时区的本地时间 2001-07-04 12:08:56。

日期和时间模式 结果
"yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy" Wed, Jul 4, '01
"h:mm a" 12:08 PM
"hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
"K:mm a, z" 0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ" 010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 2001-07-04T12:08:56.235-0700

常用构造方法 :

SimpleDateFormat sFormat = new SimpleDateFormat(String pattern);

或者

SimpleDateFormat sFormat = new SimpleDateFormat();

sFormat.applyPattern(String pattern);

或者

DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL, Locale.getDefault());

//具体可取DateFormat.SHORT,DEFAULT,LONG,FULL等

示例代码

 1 public void testCalendar(){
 2         Calendar c1 = Calendar.getInstance();
 3         c1.setTime(new Date());
 4
 5         //当Calendar中设置的时间超过每项的最大值时,会以减去最大值后的值设置时间,例如月份设置13,最后会变成13-11=02
 6         Calendar c2 = Calendar.getInstance();
 7         c2.set(1920, 13, 24, 22, 32, 22);
 8         //使用pattern
 9         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd H:m:s");
10         SimpleDateFormat format2 = new SimpleDateFormat("yy-MM-dd H:m:s");
11         SimpleDateFormat format3 = new SimpleDateFormat("y-M-d H:m:s");
12         //使用约定格式
13
14 DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL, Locale.getDefault());
15          //获取Calendar中各个属性字段的方法
16         log.info("The year now time is " + c1.get(c1.YEAR));
17         log.info("The month now time is " + c1.get(c1.MONTH));
18         log.info("The day_of_month now time is " + c1.get(c1.DAY_OF_MONTH));
19         log.info("The day_of_week now time is " + c1.get(c1.DAY_OF_WEEK));
20         log.info("今天是在这个月的第几个星期: " + c1.get(c1.DAY_OF_WEEK_IN_MONTH));
21         log.info("The day_of_year now time is " + c1.get(c1.DAY_OF_YEAR));
22         //不同模式对应的格式略有不同,有时间可以测试多一点模式
23         log.info("yyyy-MM-dd H:m:s-->" + format.format(c1.getTime()));
24         log.info("yy-MM-dd H:m:s-->" + format2.format(c1.getTime()));
25         log.info("y-M-d H:m:s-->" + format3.format(c1.getTime()));
26   log.info("DateFormat.FULL-->" + dateFormat.fomat(c1.getTime()));
27         log.info(format.format(c2.getTime()));
28 }  

转载于:https://www.cnblogs.com/feiling/p/4805253.html

java-使用SImpleDateFormat格式化时间输出相关推荐

  1. java 时间格式化_还在用SimpleDateFormat格式化时间?小心经理锤你

    还在用SimpleDateFormat格式化时间?小心经理锤你 场景 本来开开心心的周末时光,线上突然就疯狂报错,以为程序炸了,截停日志,发现是就是类似下述一段错误 java.lang.NumberF ...

  2. 日期格式化为yyyymmdd_你还在用SimpleDateFormat格式化时间嘛

    Jdk1.8之时间处理 该文章已经同步到Github:https://github.com/stackInk/makerstack 1. 传统时间处理的问题 1.1 多线程环境下的SimpleDate ...

  3. Java中随心所欲格式化时间(快刀斩乱麻)

    YJava中随心所欲格式化时间(快刀斩乱麻) 最近在南航电子商务公司做feinar的项目的后期功能中的PNR(Pessenger Name Record)的解析,由于要使用中航信的IBE开发包,里面的 ...

  4. mybatis DATE_FORMAT 格式化时间输出

    参考:http://www.cnblogs.com/yangy608/p/3950095.html 一.在oracle中,当想把字符串为'2011-09-20 08:30:45'的格式转化为日期格式, ...

  5. 使用DateFormat格式化时间输出

    文章目录 1. 前言 2. 格式化标准(格式字符标识) 3. 使用注意事项 3.1 格式字符数量控制显示位数 3.2 格式化输出包含标识占位符的输入出 1. 前言 系统时间,需要通过格式化输出才能展示 ...

  6. java 获取日期格式化时间_java获取当前时间并格式化

    java获取当前时间并格式化 private static final DateTimeFormatter FORMAT_FOURTEEN = DateTimeFormatter.ofPattern( ...

  7. android小技巧(一) 格式化时间输出 简单的adapter PreferenceManager handler与 handlerThread

    0  System.out.println(""+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new ...

  8. Java 时间处理(格式解释、格式化时间、获取当前时间、获取年份、月份等、时间戳转换成时间)

    日期和时间模式(注意大小写,代表的含义是不同的): yyyy:年 MM:月 dd:日 hh:1~12小时制(1-12) HH:24小时制(0-23) mm:分 ss:秒 S:毫秒 E:星期几 D:一年 ...

  9. 深入理解Java:SimpleDateFormat安全的时间格式化

    转自:http://www.cnblogs.com/peida/archive/2013/05/31/3070790.html 想必大家对SimpleDateFormat并不陌生.SimpleDate ...

最新文章

  1. 激光雷达与摄影测量相结合如何提高点云质量?
  2. 计算机应用12班,《计算机应用基础》上机试卷A(10级机电8—12班)
  3. website for .Net Core
  4. 百度地图 IOS版开发经验分享
  5. 怎么寻找科研论文?(二)
  6. Equinix 位于伦敦的LD8数据中心发生严重故障
  7. Arduino 笔记。开篇
  8. 逆向工具之IDA的使用
  9. 记一次排查线上程序内存的忽高忽低,又是大集合惹祸了
  10. Network Request Failed
  11. mysql -h 日志打印_mysql日志
  12. 使用GCC和GNU Binutils编写能在x86实模式运行的16位代码
  13. 大数据技术对企业的影响有哪些
  14. 数据挖掘的本质出路:长三角春招数据岗不完全调研
  15. 深入理解Nginx~Nginx配置的通用语法
  16. flexray VPX控制板设计方案详细
  17. android 蓝牙 发送字符串,Android向TLSR8266蓝牙mesh发送指令
  18. 分享几个快乐有趣的网站
  19. shiro中的过滤器
  20. 古籍排版 -古籍重制 - 杨式梨花枪 - 古籍制作 - 古籍制作工具 - 古籍制作软件 - 古籍修复工具 - 古书制作 - 古书制作软件 - 古书修复工具,

热门文章

  1. 专线映射地址_专线连接方式
  2. 宋浩概率论笔记(一)概率的基本概念
  3. 腾讯QQ音乐点歌系统
  4. 5.1路由器配置实验——静态路由
  5. 7、前端开发:CSS知识总结——字体样式
  6. 电子商务商业模式思考
  7. openEuler 操作系统安装及配置网络
  8. 护卫神mysql提权_护卫神主机大师被提权漏洞利用(可千万不能乱装护卫神主机大师安装的软件)...
  9. 获取Excel中Undo按钮的项目
  10. html5滚动条选择,HTML5 烟灰色的范围选择滑动条