今天移植别人的通用工具类,涉及到了日期的格式化、解析,学习结果记录如下。

日期的格式化器普用的是SimpleDateFormat,它继承了了DateFormat。SimpleDateFormat为用户提供了更多的控制功能,更灵活。

但是有两点需要注意:使用SimpleDateFormat解析字符串日期的时候要放入一个try代码块,以防遇到特殊的日期格式抛出异常;获取SimpleDateFormat实例的时候最好使用DateFormat的getTimeInstance、getDateInstance 或getDateTimeInstance类方法来获取。因为new一个SimpleDateFormat不适用于所有的地区,在国际化的时候会遇到问题,当然这个问题很难遇到了,但是还是小心为好。

总结一下SimpleDateFormat的用法其实很简单:建立格式器(SimpleDateFormat)DateFormat.getDateInstance()--->添加格式applyPattern(pattern)--->格式化、解析日期format(Date)、parse(String)。

public classDateFormat_test {

public static voidmain (String agrs[])

{

//获取当前时间

Date dNow = newDate();

//建立日期格式化器,这里是获取的默认语言环境、默认格式的格式器

SimpleDateFormat df = (SimpleDateFormat)DateFormat.getDateInstance();

/*格式化日期,并输出*/

//最普遍的格式

df.applyPattern("yyyy-MM-dd HH:mm:ss");

System.out.println("最普遍的格式:  "+ df.format(dNow));

//年份俭省格式

df.applyPattern("yy-MM-dd HH:mm:ss");

System.out.println("年份俭省格式:  "+ df.format(dNow));

//省略年份和具体时间格式

df.applyPattern("MM-dd");

System.out.println("省略年份和具体时间格式:  "+ df.format(dNow));

//采用12小时制格式

df.applyPattern("yyyy-MM-dd hh:mm:ss");

System.out.println("采用12小时制格式:  "+ df.format(dNow));

//省去个位数时前面的0格式

df.applyPattern("yyyy-m-dd h:mm:ss");

System.out.println("省去个位数时前面的0格式:  "+ df.format(dNow));

//更为自由的格式,嵌入字符、换行等,字符要用''包含

df.applyPattern("yyyy'年'M'月'd'日'\nh'时'm'分'mm'秒'");

System.out.println("更为自由的格式,嵌入字符、换行等:\n"

+ df.format(dNow) + "\n\n\n");

/*解析字符串日期*/

String dTest = "2012-09-10";

//这里的异常处理是必须、必要的,防止出现特殊格式的字符串日期

try

{

/*将字符串转化为Date类型时,要注意df的格式与字符串日期的格式保持一致,

* 否则抛出异常

* */

df.applyPattern("yyyy-MM-dd");

Date ddTest = df.parse(dTest);

//这里输出的日期仍然是默认格式,而非之前设定的格式

System.out.println(ddTest);

}

catch(ParseException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

上述程序运行结果如下:

java 格式化解析_java日期格式化、解析相关推荐

  1. java 日期 解析_Java日期解析(Java DATE Parsing)

    Java日期解析(Java DATE Parsing) 我有一个java.util.Date的愚蠢问题. 我有这一行代码,但我不明白为什么这个日期是用这种格式无法解析的. public class T ...

  2. java tostring格式化日期_java日期格式化SimpleDateFormat的使用详解

    日期和时间格式由 日期和时间模式字符串 指定.在 日期和时间模式字符串 中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素.文本可以使用单引 ...

  3. java date 格式化_Date类日期格式化

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /* * 对日期进 ...

  4. java 月份缩写_关于java:如何将日期字符串解析为Date?

    本问题已经有最佳答案,请猛点这里访问. 如何将下面的日期字符串解析为Date对象? String target ="Thu Sep 28 20:29:30 JST 2000"; D ...

  5. java 24字母_java 时间格式化中的模式字母

    java日期格式化中的模式字母有特定的意义,由于没有注意,今天在做工程的时候导致出现了奇怪的日期: 错误写法如下: 然而得到了错误的结果: 正确写法如下: 这样就得到了正确的结果 mm指的是分钟,MM ...

  6. java时间规范化_Java日期时间使用总结

    一.Java中的日期概述 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题. 在Java中 ...

  7. java 按位置格式化字符串_Java字符串格式化,{}占位符根据名字替换实例

    我就废话不多说了,大家还是直接看代码吧~ import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import j ...

  8. java format 字符_JAVA字符串格式化-String.format()的使用

    常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重 ...

  9. java xml dom4j 解析_Java使用DOM4J解析XML

    Dom4J方式解析XML文件.dom4j是非官方提供的xml文件解析方式,因此需要去第三方下载dom4j的jar包 File file = new File("D:\\chengmuzhe\ ...

最新文章

  1. Linux服务器安装JDK、Tomcat配置web网站
  2. UC伯克利出品,深度强化学习最新课程已上线
  3. 计算机视觉 | 优秀实用的OpenCV开源项目汇总
  4. Errors occurred during the build. Errors running builder 'JavaScript Validator' on project 'XXX'.
  5. Python内置函数eval
  6. 如何获取mongodb中的最后N条记录?
  7. ES6的新特性----Vue学习必备基础知识
  8. mvc php session,PHP Session入门教程
  9. 20145315 《Java程序设计》实验五实验报告
  10. 【数据结构与算法】分离链接法散列表的Java实现
  11. 陌生人交友IM即时聊天系统-得推交友系统v3.0源码
  12. CentOS-6.5-x86_64 最小化安装,已安装包的总数,这些包?
  13. WebRequest中的工厂方法模式
  14. 定时任务:java 中Timer 和 TimerTask 的使用
  15. machine learning之PCA、ICA
  16. endnotex9切换中文_EndNoteX9常用方法汇总
  17. GPS经纬度坐标转UTM坐标(c++)
  18. 毕业论文如何设置页码连续编页,页眉奇偶页不同?
  19. markdown如何生成一级标题
  20. 如何用GBD确认函数属于哪个库

热门文章

  1. SQL语言之DQL语言学习(一) 基础查询
  2. Python基础教程:函数的可变参数
  3. Python re 模块findall() 函数返回值展现方式详解
  4. python教程:类的装饰器方法、特殊成员方法
  5. 用Python学分析 - 单因素方差分析
  6. 购买过php,【已解决】PHP项目需求:用户购买商品时,给上级发送一条通知(无限级下级会员)...
  7. 路由(route)是什么意思?
  8. 【中级软考】绑定、静态绑定、动态绑定、静态分配、动态分配是什么?
  9. C++ 创建对象时带括号和不带括号的区别
  10. 数据类型(Python)