java.text.SimpleDateFormat使用介绍
java.text.SimpleDateFormat的使用
java.lang.Object
|
+----java.text.Format
|
+----java.text.DateFormat
|
+----java.text.SimpleDateFormat
--------------------------------------------------------------------------------
public class SimpleDateFormat
extends DateFormat
SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化。
SimpleDateFormat 允许以为日期-时间格式化选择任何用户指定的方式启动。 但是,希望用 DateFormat 中的 getTimeInstance、 getDateInstance 或 getDateTimeInstance 创建一个日期-时间格式化程序。每个类方法返回一个以缺省格式化方式初始化的日期/时间格式化程序。可以根据需要用 applyPattern 方法修改格式化方式。 关于使用这些方法的更多信息,请参见 DateFormat。
时间格式语法:
使用一个 time pattern 字符串指定时间格式。在这种方式下,所有的 ASCII 字母被保留为模式字母,定义如下:
符号 含义 表示 示例
------ ------- ------------ -------
G 年代标志符 (Text) AD
y 年 (Number) 1996
M 月 (Text & Number) July & 07
d 日 (Number) 10
h 时 在上午或下午 (1~12) (Number) 12
H 时 在一天中 (0~23) (Number) 0
m 分 (Number) 30
s 秒 (Number) 55
S 毫秒 (Number) 978
E 星期 (Text) Tuesday
D 一年中的第几天 (Number) 189
F 一月中第几个星期几 (Number) 2 (2nd Wed in July)
w 一年中第几个星期 (Number) 27
W 一月中第几个星期 (Number) 2
a 上午 / 下午 标记符 (Text) PM
k 时 在一天中 (1~24) (Number) 24
K 时 在上午或下午 (0~11) (Number) 0
z 时区 (Text) Pacific Standard Time
' 文本转义符 (Delimiter)
'' 单引号 (Literal) '
模式字母的数目决定了格式。
(Text):4 个或更多模式字母 -- 使用完全形式, < 4 -- 使用短形式或缩写形式,如果存在。
(Number):数字的最小位数。 短数字前面加零。Year 作特殊处理;即,如果 'y' 的位数是 2,Year 将被截取为 2 位。
(Text & Number):3 位或多于 3 位,使用文本,否则使用数值。
在该模式下,任何不在范围 ['a'..'z'] 和 ['A'..'Z'] 中的字符将被作为被括起来的文本。 例如,诸如 ':'、'.'、' '、'#' 和 '@' 的字符将出现在结果时间文本中,即使它们没有用单引号括起来。
一个包含任何无效模式字母的模式在格式化或语法分析时将抛出异常。
使用 US 语言环境的示例:
格式化模式 结果
-------------- -------
"yyyy.MM.dd G 'at' hh:mm:ss z" ->> 1996.07.10 AD at 15:08:56 PDT
"EEE, MMM d, ''yy" ->> Wed, July 10, '96
"h:mm a" ->> 12:08 PM
"hh 'o''clock' a, zzzz" ->> 12 o'clock PM, Pacific Daylight Time
"K:mm a, z" ->> 0:00 PM, PST
"yyyyy.MMMMM.dd GGG hh:mm aaa" ->> 1996.July.10 AD 12:08 PM
代码示例:
SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, "PST");
pdt.setStartRule(DateFields.APRIL, 1, DateFields.SUNDAY, 2*60*60*1000);
pdt.setEndRule(DateFields.OCTOBER, -1, DateFields.SUNDAY, 2*60*60*1000);
// Format the current time.
SimpleDateFormat formatter
= new SimpleDateFormat ("yyyy.mm.dd e 'at' hh:mm:ss a zzz");
Date currentTime_1 = new Date();
String dateString = formatter.format(currentTime_1);
// Parse the previous string back into a Date.
ParsePosition pos = new ParsePosition(0);
Date currentTime_2 = formatter.parse(dateString, pos);
在本例中,由分析获得的时间值 currentTime_2 将与 currentTime_1 相等。但是如果当使用“时在上午/下午”模式符号时,在该格式化模式中省略 am/pm 标记符 'a',它们可能不相等。 当格式化下午的时间时,可能会丢失这个信息。
当分析一个使用缩写的年模式的数字串时,SimpleDateFormat 必须解释把缩写的年与某个世纪相对应。它通过把日期调整到 SimpleDateFormat 实例创建时间 80 年以前至 20 年以后的范围内进行解释。例如,使用 MM/dd/yy 模式和在 1997 年 1 月 1 日 创建的 SimpleDateFormat 实例,字符串 "01/11/12" 将被解释为 2012 年 1 月 11 日,而字符串 "05/04/64" 将被解释为1964 年 5 月 4 日。
对于没有名字的时区,使用字符串 GMT+hours:minutes 或 GMT-hours:minutes。
日历定义了一个星期的第一天,一年的第一个星期,小时是否以零开始 (0 到 12 或 24) 和时区。有一种公共的十进制格式处理所有数字;数字位数由程序根据该模式处理。
java.text.SimpleDateFormat使用介绍的更多相关文章
- 【java】Date与String之间的转换及Calendar类:java.text.SimpleDateFormat、public Date parse(String source) throws ParseException和public final String format(Date date)
package 日期日历类; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util. ...
- Java-API:java.text.SimpleDateFormat
ylbtech-Java-API:java.text.SimpleDateFormat 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 0. https://do ...
- java.text.SimpleDateFormat的使用
SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类. 它允许格式化 (date -> text).语法分析 (text -> date)和标准化. Simpl ...
- ArcSDE SDK For Java二次开发介绍、演示样例
在一个工作中,遇到了须要java后台来查询ArcGIS 中用到的Oracle数据库空间数据,因为对ArcGIS空间数据首次接触,仅仅知道Oracle能够使用ST_GEOMETRY字段存储,例如以下图 ...
- 【转】深入理解Java:SimpleDateFormat安全的时间格式化
[转]深入理解Java:SimpleDateFormat安全的时间格式化 想必大家对SimpleDateFormat并不陌生.SimpleDateFormat 是 Java 中一个非常常用的类,该类用 ...
- Java中SimpleDateFormat用法详解
所有已实现的接口: Serializable, Cloneable SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类.它允许进行格式化(日期 -> 文本) ...
- 常用类一一时间处理相关类一一java.util.Tomezone(java.util.Calendar , java.util.Date , java.text.DateFormat)
时间处理相关类 时间是一个一维的东东.所以,我们需要一把刻度尺来区表达和度量时间.在计算机世界,我们把1970 年 1 月 1 日 00:00:00定为基准时间,每个度量单位是毫秒(1秒的千分之一). ...
- Java Date SimpleDateFormat
public static void main(String[] args) { long millis = 1492741275301L; Calendar calendar = Calendar. ...
- Date类(java.util)和SimpleDateFormat类(java.text)
在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取当前时间,我们来看下 Date 类的使用: 使用 Date 类的默 ...
随机推荐
- 浅谈Java中的补零扩展和补符号位扩展
今天,魏屌出了一道题,题目如下: 定义一个大头序的byte[]a={-1,-2,-3,-4},转换成short[]b.问b[0]和b[1]分别是多少? 乍一看,这题不难,无非就是移位操作,再进行组合. ...
- C语言 函数指针二(正向调用)
//函数指针做函数参数 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<Wi ...
- 第二百零六节,jQuery EasyUI,Menu(菜单)组件
jQuery EasyUI,Menu(菜单)组件 学习要点: 1.加载方式 2.菜单项属性 3.菜单属性 4.菜单事件 5.菜单方法 本节课重点了解 EasyUI 中 Menu(菜单)组件的使用方法, ...
- 请写出5种常见到的runtime exception。
请写出5种常见到的runtime exception. 解答: NullPointerException:当操作一个空引用时会出现此错误. NumberFormatException:数据格式转换出现 ...
- 20140710文安c++面试总结
这次去文安面试并未是我想象中的那个样子,可能有如下原因: 1.招聘旺季已过,仅剩下c++这个职位 2.并未做过面试前大公司的面试技巧-做面试题 面试过程基本就是先做面试题: 1.试题分布式-逻辑题.分 ...
- linux 知识点拾遗
文件名称 在 Linux 底下,每个档案或文件夹的文件名称最长能够到达 255 的字符,加上完整路径时,最长可达 4096 个字符; 因为 Linux 在文字接口下的一些指令操作关系,一般来说,您在设 ...
- (转)使用 PyInstaller 把python程序 .py转为 .exe 可执行程序
最近使用Python为项目开发一款绘图工具(绘出 声场三维模型).因为希望能把Python脚本发布为脱离Python平台运行的可执行程序,比如单个的exe文件.PyInstaller恰满足这个需求.本 ...
- 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记
近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...
- 第一次使用Xamarin就上手 - 安裝Xamarin
http://xamarintech.blogspot.tw/2013/06/xamarin-xamarin-step-by-step-part1.html http://xamarintech.bl ...
- 《转》架设一个BLOG需要整合多少东西?
本文转载自大CC 1 Wordpress本身需要花费功夫的地方不多,比较容易,但Themes要花不少功夫调整,有时还得改CSS.推荐几个Wordpress Themes网站: - http://the ...