`
阅读更多
公共类
SimpleDateFormat的
延伸的DateFormat
java.lang.Object的
   ↳ java.text.Format子
   ↳ java.text.DateFormat
   ↳ java.text.SimpleDateFormat的
类概述

一个具体的类,在一个语言环境敏感的方式格式化和解析日期。格式变成一个 Date 成 String ,并解析成一个日期变成 一个 String 。

时间模式语法

你可以提供一个描述字符串/接受的模式,但几乎所有的来电者应该使用getDateInstance() ,getDateTimeInstance() ,或getTimeInstance()得到一个现成的实例,为适合用户的语言环境。

你创建这个类的一个实例的主要原因是因为你需要一个特定的机器可读的格式,在这种情况下,你几乎肯定要明确要求,以确保你(而不是ASCII数字格式化/解析,说,阿拉伯数字)。(见“ 警惕的默认区域设置 “)。最有用的非本地化的模式是“YYYY-MM-DD HH:MM:ss.SSSZ” ,对应的ISO 8601国际标准日期格式。

到指定的时间格式,使用时间模式字符串。在此字符串中的任何字符“A”到“Z”或'A'到'z'的特殊对待。所有其他字符,通过逐字。下表中的每个ASCII字母的解释。表中未出现的ASCII字母被保留供将来使用,并尝试使用它是一个错误。

符号 意 介绍 例子
ð 一天一年 (数目) 189
é 一周里的日子 (文字) 星期二
F 每周一天在本月 (数目) 2 (第2次在七月三)
Ğ 时代的标志 (文字) 公元
Ĥ 在一天中的小时(0-23) (数目) 0
ķ am / pm中的小时(0-11) (数目) 0
大号 单机一个月 (文/数字) 七月/ 07
中号 一个月一年 (文/数字) 七月/ 07
小号 秒的小数部分 (数目) 978
W 每月一周 (数目) 2
ž 时区(RFC 822中) (时区) -0800
一 上午/下午标记 (文字) !
Ç 独立日的一周 (文/数字) 周二/ 2
ð 每月一天 (数目) 10
Ĥ am / pm中的小时(1-12) (数目) 12
ķ 在一天中的小时(1-24) (数目) 24
米 分钟小时 (数目) 30
小号 在一分钟二 (数目) 55
瓦特 本周在一年 (数目) 27
Ÿ 年 (数目) 2010
ž 时区 (时区) 太平洋标准时间
“ 逃脱文本 (分隔符) “日期=”
“ 单引号 (文字) 'O'时钟'
一个模式字符的连续副本的数量(“计数”),进一步影响格式。

文字,如果算上4个或更多,使用完整形式;如果存在的话,否则使用短期或缩写形式。ZZZZ可能给太平洋标准时间 ,而ž可能给的PST。请注意,计数并不指定的字段的确切宽度。
数计数的最小位数。较短的值是零填充的宽度,这个宽度更长值溢出。
年被特别处理: YY 截断最后2位数,但不会截断任何其他连续数Ÿ小号。因此, 其中 yyyy 或 y 可能会给2010年 , YY 将给予10。
秒的小数部分也特别处理:他们是在零填充的 权利。
文本/数字:如果罪名是3个或更多,使用文本,否则使用一个数字。因此,MM可能会给07 MMM的同时给七月。
重症监护病房兼容扩展,而不是在RI 大号和Ç两个模式字符。这些都是正确的定位所必需的语言,如俄罗斯,区分之间,也就是说,“六一”和“2010年6月”。

当数值字段直接与相邻中间没有分隔符,它们构成了一个相邻的数字领域的运行。这种运行专门解析。例如,格式为“HHMMSS”解析“123456”,以12:34:56的输入文本,解析输入文本“12345”到1时23分45秒,未能解析“1234”。换句话说,运行的最左边的领域是灵活的,而其他人保持一个固定的宽度。如果解析失败的任何地方运行,然后在最左边的字段将被缩短一个字符,并在整个运行过程中再次被解析。这是重复的,直到解析成功或最左边的领域是一个字符的长度。如果仍然在这一点上失败的解析,解析运行失败。

看到set2DigitYearStart(日期)处理两位数字的年份。

示例代码

如果你格式化供人类使用,你应该使用从返回如上所述的一个实例 的DateFormat。这样的代码:

DateFormat[] formats = new DateFormat[] {
   DateFormat.getDateInstance(),
   DateFormat.getDateTimeInstance(),
   DateFormat.getTimeInstance(),
};
for (DateFormat df : formats) {
   System.err.println(df.format(new Date(0)));
}

产生这种输出En_US的设备上运行时,在PDT时区:

12月 31日, 1969年
12月 31日  4 :00 :00 下午
4 :00 :00 PM

任何用户的系统上,将产生类似的适当的本地化人类可读的输出。
如果你的机器使用的格式化,考虑下面的代码:

字符串] 格式=  新 的String []  {
   “YYYY-MM-DD” , “YYYY-MM-DD HH:MM”
   , “YYYY-MM-DD HH:MMZ”
   , “YYYY-MM-DD
  
  

  
     
   

   %\ N“ 格式,自卫队。格式(新的 日期(0 )));
}

在PDT时区运行时产生此输出:

                     YYYY - MM - 日1969 - 12 - 31
                     年- MM - 日1970 - 01 - 01
               年- MM - DD HH :毫米- 12 - 31  月16日:00
               年- MM - DD HH :毫米- 01 - 01  00 :00
              年- MM - DD HH :MMZ 

1969 - 12 - 31  16 :00 :00.000 - 0800
       年- MM - 月



如这个例子所示,每个SimpleDateFormat的实例有一个时区。这是因为它要求的格式实例称为日期,它代表在UTC的绝对时间。也就是说,日期不进行时区信息。SimpleDateFormat的默认情况下,将使用系统的默认时区。这是适当的,为人类可读的输出(,看到前面的示例),但一般为机器可读的输出,其中含糊不清是一个问题的不适当的。请注意输出,其中包括一段时间,但没有时区,在这个例子中,不能被解析到原始日期。出于这个原因,它几乎总是必要和可取的,包括在输出时区。它也可能是可取的设置格式化的时区为UTC(缓解比较,或使日志更具可读性,例如)。

同步

SimpleDateFormat的是不是线程安全的。用户应当为每个线程创建一个单独的实例。
参见

日历
日期
时区
的DateFormat
总结

[展开]
继承的常量
从类 java.text.DateFormat
[展开]
继承的字段
从类 java.text.DateFormat
公共构造函数
SimpleDateFormat的()
构造一个新的SimpleDateFormat的格式化和解析日期和时间短的风格,为用户的默认语言环境。
SimpleDateFormat的(字符串模式)
构造一个新的SimpleDateFormat使用指定的非本地化的模式和用户的默认语言环境的DateFormatSymbols和日历。
SimpleDateFormat的(字符串模板的DateFormatSymbols值)
构造一个新的SimpleDateFormat使用指定的非本地化的模式的DateFormatSymbols和用户的默认语言环境的日历。
SimpleDateFormat的(String模板,区域设置区域设置)
构造一个新的SimpleDateFormat使用指定的非本地化的模式,并针对指定语言环境的DateFormatSymbols和日历。
公共方法
无效 applyLocalizedPattern(字符串模板)
这个简单的日期格式的格局变化到指定的模式,采用本地化的模式字符。
无效 applyPattern(字符串模板)
改变了这个简单的日期格式的模式,以指定的模式,它使用非本地化的模式字符。
物件 克隆()
SimpleDateFormat的使用相同的模式和属性返回一个新的,因为这简单的日期格式。
布尔 等于(对象对象)
这个简单的日期格式比较指定的对象,并表示如果他们是平等的。
StringBuffer的 格式(日期日期,StringBuffer的缓冲区,FieldPosition fieldPos)
作为一个使用此日期格式的字符串追加到指定的字符串缓冲区的模式的字符串格式指定的日期。
的AttributedCharacterIterator formatToCharacterIterator(目标对象)
格式指定的对象使用这个简单的日期格式的规则和返回的AttributedCharacterIterator与格式化的日期和属性。
日期 get2DigitYearStart()
返回的日期,这是一百年去年同期两位数的年份值开始。
的DateFormatSymbols getDateFormatSymbols()
这个简单的日期格式返回的DateFormatSymbols。
INT 的hashCode()
返回此对象的整数哈希代码。
日期 解析(字符串字符串的ParsePosition位置)
解析一个从指定的字符串所指定的索引开始日期的位置。
无效 set2DigitYearStart(日期日期)
这是一百年去年同期两位数的年份值开始设定日期。
无效 setDateFormatSymbols(的DateFormatSymbols值)
这个简单的日期格式设置的DateFormatSymbols。
串 toLocalizedPattern()
返回这个简单的日期格式,使用本地化的模式字符的格局。
串 toPattern()
返回这个简单的日期格式,使用非本地化的模式字符的格局。
[展开]
继承的方法
从类 java.text.DateFormat
从类 java.text.Format子
从类 java.lang.Object继承
公共构造函数

公众 的SimpleDateFormat ()

日期:API等级1
构造一个新的SimpleDateFormat的格式化和解析日期和时间短的风格,为用户的默认语言环境。参见“ 警惕的默认语言环境 “。
公众 的SimpleDateFormat (字符串模式)

日期:API等级1
构造一个新的SimpleDateFormat使用指定的非本地化的模式和用户的默认语言环境的DateFormatSymbols和日历。参见“ 警惕的默认语言环境 “。
参数

模式 该模式。
抛出

NullPointerException异常 如果模式是空的。
IllegalArgumentException 如果模式不被认为是这个格式化可用。
公众 的SimpleDateFormat (字符串模板的DateFormatSymbols值)

日期:API等级1
构造一个新的SimpleDateFormat使用指定的非本地化的模式的DateFormatSymbols和用户的默认语言环境的日历。参见“ 警惕的默认语言环境 “。
参数

模板 该模式。
值 的DateFormatSymbols。
抛出

NullPointerException异常 如果模式是空的。
IllegalArgumentException 如果模式是无效的。
公众 的SimpleDateFormat (String模板,区域设置区域设置)

日期:API等级1
构造一个新的SimpleDateFormat使用指定的非本地化的模式,并针对指定语言环境的DateFormatSymbols和日历。
参数

模板 该模式。
语言环境 语言环境。
抛出

NullPointerException异常 如果模式是空的。
IllegalArgumentException 如果模式是无效的。
公共方法

无效 applyLocalizedPattern (弦乐模板)

日期:API等级1
这个简单的日期格式的格局变化到指定的模式,采用本地化的模式字符。
参数

模板 本地化的模式。
无效 applyPattern (弦乐模板)

日期:API等级1
改变了这个简单的日期格式的模式,以指定的模式,它使用非本地化的模式字符。
参数

模板 非本地化的模式。
抛出

NullPointerException异常 如果模式是空的。
IllegalArgumentException 如果模式是无效的。
公共 对象 的clone ()

日期:API等级1
SimpleDateFormat的使用相同的模式和属性返回一个新的,因为这简单的日期格式。
返回

浅拷贝了这个简单的日期格式。
参见

Cloneable接口
公共布尔 等于 (对象对象)

日期:API等级1
这个简单的日期格式比较指定的对象,并表示如果他们是平等的。以平等,对象必须是SimpleDateFormat的一个实例,并有相同的DateFormat 属性,模式,的DateFormatSymbols和创造一年。
参数

物件 与此对象进行比较的对象。
返回

如果指定对象是等于这个简单的日期格式,否则虚假的真实。
参见

hashCode()方法
公共 StringBuffer的 格式 (日期为止,StringBuffer的缓冲区,FieldPosition fieldPos)

日期:API等级1
作为一个使用此日期格式的字符串追加到指定的字符串缓冲区的模式的字符串格式指定的日期。
如果该领域的成员字段指定格式字段包含一个值,然后将其beginIndex和endIndex的成员首次出现在这一领域的格式化文本的位置更新。
参数

日期 格式化的日期。
缓冲 目标字符串缓冲区,追加格式化的日期/时间。
fieldPos :一个可选的对齐字段输入输出:在格式化文本的对齐字段的偏移量。
返回

字符串缓冲区。
抛出

IllegalArgumentException 如果有模式中的无效字符。
公共的 的AttributedCharacterIterator formatToCharacterIterator (对象对象)

日期:API等级1
格式指定的对象使用这个简单的日期格式的规则和返回的AttributedCharacterIterator与格式化的日期和属性。
参数

物件 格式对象。
返回

的AttributedCharacterIterator与格式化的日期和属性。
抛出

NullPointerException异常 如果对象是空的。
IllegalArgumentException 如果该对象不能被格式化这个简单的日期格式。
公共的 日期 get2DigitYearStart ()

日期:API等级1
返回的日期,这是一百年去年同期两位数的年份值开始。有关详细信息,请参阅set2DigitYearStart(日期)。
公众 的DateFormatSymbols getDateFormatSymbols ()

日期:API等级1
这个简单的日期格式返回的DateFormatSymbols。
返回

的DateFormatSymbols对象。
公众诠释 的hashCode ()

日期:API等级1
返回此对象的整数哈希代码。合同,任何两个物体为等于(对象)返回真,必须返回相同的哈希码值。这意味着子类的对象, 通常覆盖两种方法既不方法。
请注意,哈希值必须不随时间而改变,除非所用的信息equals比较中也发生了变化。
看到写一个正确的 hashCode方法, 如果你打算实现自己的hashCode方法。
返回

此对象的哈希代码。
公开 日期 解析 (字符串字符串的ParsePosition位置)

日期:API等级1
解析一个从指定的字符串所指定的索引开始日期的位置。如果该字符串成功解析,那么该指数的ParsePosition更新的指数解析文本。出现错误时,该指数保持不变,指数的ParsePosition的错误设置发生错误的位置的索引。
参数

串 使用这个简单的日期格式的模式字符串解析。
位置 输入/输出参数,指定的起始索引字符串从哪里开始解析。如果解析成功,解析文本的索引更新错误,该指数是不变的错误索引设置为发生错误的位置的索引。
返回

日期从解析,或空,如果有一个错误。
抛出

IllegalArgumentException 如果有模式中的无效字符。
公共的无效 set2DigitYearStart (日期日期)

日期:API等级1
这是一百年去年同期两位数的年份值开始设定日期。
当SimpleDateFormat的解析日期字符串使用的缩写一年格局YY,必须解释的缩写一年,相对于一些世纪。它通过调整日期在80年之前,20年后的时间SimpleDateFormat的实例被创建。例如,用一个模式的MM / DD / YY,1月1日创建了一个实例,1997年将其解释的字符串“12年1月11日” 2012年1月11日,但解释的字符串“64年5月4日”为五月4,1964年。在分析过程中,恰好为两个数字,如定义,只包含字符串isDigit(炭),将被解析到默认的世纪。其他任何数字字符串,如一个数字串,三个或更多的数字串,或两个数字串是不是所有的数字(例如,“-1” ),字面解释。因此,使用相同的模式, “01/02/3”及“01/02/003”解析为公元1月2日,3。同样,“01/02/-3”被解析为1月2日,公元前4世纪。
如果今年的格局不会有整整两个'Y'字符,今年是字面解释,无论位数。因此,使用模式MM / DD / YYYY,“12年1月11日”被解析为1月11日,12位AD
公共的无效 setDateFormatSymbols (的DateFormatSymbols价值)

日期:API等级1
这个简单的日期格式设置的DateFormatSymbols。
参数

值 新的DateFormatSymbols对象。
公共 字符串 toLocalizedPattern ()

日期:API等级1
返回这个简单的日期格式,使用本地化的模式字符的格局。
返回

本地化的模式。
公共 字符串 toPattern ()

日期:API等级1
返回这个简单的日期格式,使用非本地化的模式字符的格局。
返回

非本地化的模式。
分享到:
评论

相关推荐

    Android 时间格式化Demo

    在Android开发中,时间格式化是一项基础且重要的任务,它涉及到日期和时间的显示、解析以及比较等操作。本Demo是专为学习Android中的时间格式化而编写的,包含了一个实用的时间格式化工具类。通过这个Demo,我们可以...

    android 日期格式化

    以上介绍的方法覆盖了Android中常见的日期格式化需求,从基本的月日格式到完整的日期时间,再到处理不同精度的时间戳,甚至包括获取当前日期和星期。掌握这些方法,可以帮助开发者在处理日期和时间数据时更加...

    android 判断字符串是否是日期格式

    这个任务可以通过多种方式来实现,涉及到日期时间处理、正则表达式以及Java或Android提供的日期解析类。以下将详细介绍如何进行这项操作。 首先,我们可以使用Java的`SimpleDateFormat`类来尝试解析字符串,如果...

    Android强大的日期时间选择控件

    在Android开发中,日期时间选择控件是用户界面中常见且重要的组成部分,它允许用户方便地选择日期或时间。在Android SDK中,内置了DatePicker和TimePicker两种原生控件,但有时候,开发者可能需要更加强大、定制化的...

    Android日期时间格式国际化的实现代码

    总之,Android中的日期时间格式国际化主要是通过`java.text.DateFormat`类及其子类来实现的,结合`Locale`对象,可以轻松地根据用户的语言和地区设置来展示日期和时间。在实际应用中,还可以结合资源文件(strings....

    android 显示当前日期和时间

    在Android开发中,显示当前日期和时间是一项基本任务,它涉及到对系统时钟的访问以及UI...通过熟练掌握这些,你可以进一步扩展功能,例如添加自定义日期选择器或时间选择器,或者根据用户需求动态调整日期时间格式。

    android 日期区间选择控件

    - **国际化**:考虑不同地区对日期格式的需求,如日放在月前还是年后,月份显示英文还是数字等。 - **性能优化**:大量数据加载时,考虑使用懒加载策略,减少初始化时的资源消耗。 - **无障碍功能**:遵循Android的...

    android 时间选择器

    在Android开发中,时间选择器(DatePicker)是一个常见的组件,用于让用户方便地选取日期或时间。本项目仿照苹果iOS的界面设计,提供了一个自定义的时间选择器,允许开发者进行高度自定义,如修改背景、字体等样式。...

    android 时间日期控件

    同时,根据需求,我们还可以自定义对话框的主题、样式以及日期和时间的格式,以满足不同应用场景的需求。这个简单的示例展示了如何在实际项目中实现这一功能,帮助用户更便捷地设置和查看所选的日期和时间。

    android日期时间选择器(年月日时分秒)

    `android日期时间选择器(年月日时分秒)`是一个常见的需求,旨在为用户提供方便、直观的日期和时间选择体验。在这个场景下,我们可以使用自定义的日期时间选择器,例如`CustomDatePicker`,它是开发者`liuwan1992`...

    android设置时间和日期

    // 将你要设置的日期时间转换为毫秒值 ContentResolver contentResolver = getContentResolver(); Settings.System.putLong(contentResolver, Settings.System.TIME_UTC, timeInMillis / 1000); } catch ...

    Android 日期和时间框合并

    4. 日期和时间格式化:将选择的日期和时间展示给用户时,通常需要将其转换为易读的字符串。Android提供了`SimpleDateFormat`类(Java)或`java.time.format.DateTimeFormatter`(Kotlin)来进行日期和时间的格式化。...

    android日期时间选择器

    本示例“android日期时间选择器”提供了一种自定义解决方案,以弥补原生Android日期时间控件功能的不足。下面我们将深入探讨这个话题。 首先,Android原生系统提供了两种基本的日期时间选择器:DatePicker和...

    Android 时间日期 demo

    当用户选择完时间和日期后,可能需要将其转换为标准的日期时间格式并存储,或者进行其他操作。例如,我们可以使用SimpleDateFormat类进行格式化: ```java String date = String.format("%04d-%02d-%02d %02d:%02d...

    android滚轮,可实现日期,文字,时间滚动选择

    4. **日期和时间选择**:`WheelView`可以配合日期和时间格式化工具,如`SimpleDateFormat`,来展示和处理日期和时间。用户滚动滚轮选择年、月、日、小时和分钟,然后应用可以解析这些值来获取实际的日期或时间对象。...

    android usb摄像头 支持yuyv mjpeg格式

    在Android平台上,USB摄像头的使用是一项重要功能,尤其对于开发者来说,能够支持不同的视频格式如YUYV和MJPEG是至关重要的。本文将详细探讨如何在Android设备上实现USB摄像头的支持,以及这两种视频格式的工作原理...

    Android 时间日期转换工具类

    调此方法输入所要转换的时间输入例如("2014-06-14-16-09-00")转换需要的样式

    Android-Java中的日期转化格式DateUtil工具类

    在Android开发中,处理日期和时间是一项常见的任务。Java提供了多种方式来操作日期,但有时为了提高代码的可读性和可维护性,我们会创建一个工具类来封装这些操作。这里我们关注的是`DateUtil`工具类,它专门用于...

    android 日历控件 可选开始时间结束时间

    在Android开发中,日历控件是经常被用于创建日期选择功能的重要组件,尤其是在预订、计划等场景下,用户需要设定一个开始时间和结束时间。"android 日历控件 可选开始时间结束时间"这个标题所提及的就是这样一个特定...

    Android系统当前时间日期的获取

    例如,可以使用`java.time.LocalDateTime`和`java.time.format.DateTimeFormatter`来获取和格式化日期时间: ```java import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; LocalDateTime...

Global site tag (gtag.js) - Google Analytics