SimpleDateFormat 支持感叹号
时间: 2024-02-19 11:56:26 浏览: 25
SimpleDateFormat类是Java中用于格式化和解析日期的类。它支持一些特殊字符,其中包括感叹号(!)。
在SimpleDateFormat中,感叹号(!)用于指定时区偏移量的标记。具体来说,感叹号后面可以跟随一个或多个大写字母,用于指定时区偏移量的格式。
以下是感叹号后面可能出现的大写字母及其含义:
- G:纪元标记(例如AD)
- y:年份(例如2021)
- M:月份(例如7或07)
- d:月份中的天数(例如10)
- h:小时(例如12小时制的6)
- H:小时(例如24小时制的18)
- m:分钟(例如30)
- s:秒(例如45)
- S:毫秒(例如123)
- E:星期几(例如星期三)
- D:一年中的天数(例如256)
- F:一个月中的星期几(例如2,表示第二个星期几)
- w:一年中的星期数(例如35)
- W:一个月中的星期数(例如4,表示第四个星期)
- a:上午/下午标记(例如AM或PM)
- k:小时(24小时制,1-24)
- K:小时(12小时制,0-11)
- z:时区(例如PST)
- Z:时区偏移量(例如-0800)
感叹号后面的大写字母可以按照需要进行组合,以满足特定的日期格式要求。
相关问题
SimpleDateFormat 支持的所有日期格式
SimpleDateFormat 支持的日期格式包括:
| 符号 | 含义 |
| :-: | :-: |
| y | 年份,例如:2018 |
| M | 月份,例如:1、01、Jan、January |
| d | 日期,例如:1、01、31 |
| h | 小时(12小时制),例如:1、01、12 |
| H | 小时(24小时制),例如:0、00、23 |
| m | 分钟,例如:0、00、59 |
| s | 秒钟,例如:0、00、59 |
| S | 毫秒,例如:0、00、999 |
| E | 星期几,例如:Tue、Tuesday |
| D | 一年中的第几天,例如:1、32、365 |
| w | 一周中的第几天,例如:1、2、7 |
上述符号可以与以下特殊符号组合使用:
| 符号 | 含义 |
| :-: | :-: |
| ' | 引号,表示文本,例如:'今天是'yyyy年MM月dd日 |
| - | 连接符,例如:yyyy-MM-dd |
| / | 连接符,例如:yyyy/MM/dd |
| : | 分隔符,例如:HH:mm:ss |
| . | 分隔符,例如:HH.mm.ss |
| , | 分隔符,例如:EEE, MMM d, yyyy HH:mm:ss |
此外,还可以使用以下模式字符串:
| 模式字符串 | 含义 |
| :-: | :-: |
| G | 公元 |
| z | 时区 |
| Z | 时区偏移量 |
| X | ISO 8601 时区 |
| ' | 单引号 |
| '' | 表示单引号 |
示例:
| 模式字符串 | 日期格式 |
| :-: | :-: |
| yyyy-MM-dd | 2018-01-01 |
| yyyy/MM/dd | 2018/01/01 |
| yyyy年MM月dd日 | 2018年01月01日 |
| yyyy-MM-dd HH:mm:ss | 2018-01-01 00:00:00 |
| yyyy-MM-dd'T'HH:mm:ss.SSSZ | 2018-01-01T00:00:00.000+0800 |
| EEE, MMM d, ''yy | Mon, Jan 1, '18 |
SimpleDateFormat支持任意形式的时间格式
实际上,`SimpleDateFormat`并不支持任意形式的时间格式,它需要根据预定义的日期时间格式模式进行解析。这些模式由一系列字符组成,用于指定日期时间的格式。
`SimpleDateFormat`类支持的日期时间格式模式有一定的限制,以下是一些常用的模式字符:
- `G`:Era 设计ator (Text: AD)
- `y`:年份 (Number: 1996; Year: 96)
- `M`:月份 (Text & Number: July & 07)
`d`:日期 (Number: 10)
- `H`:小时 (0-23) (Number: 0)
- `m`:分钟 (Number: 30)
- `s`:秒 (Number: 55)
- `S`:毫秒 (Number: 978)
- `E`:星期几 (Text: Tuesday)
- `D`:一年中的天数 (Number: 189)
- `F`:一月中的星期几 (Number: 2)
- `w`:一年中的星期数 (Number: 27)
- `W`:一月中的星期数 (Number: 2)
- `a`:上午/下午指示符 (Text: PM)
- `k`:小时 (1-24) (Number: 24)
- `K`:小时 (0-11) (Number: 0)
- `z`:时区 (Text & Number: Pacific Standard Time & PST)
- `'`:引号字符 (例如,'yyyy-MM-dd' 将解析为 yyyy-MM-dd 字符串)
这些字符可以按照需要组合,形成自定义的日期时间格式模式。但请注意,`SimpleDateFormat`并不支持任意形式的时间格式,它需要符合预定义的模式。
如果您需要解析的时间格式与预定义的模式不匹配,或者需要处理更复杂的时间格式,可以考虑使用其他时间处理库,例如 Joda-Time 或 java.time 包下的类(Java 8+)。这些库提供了更灵活和全面的时间处理功能。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)