

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 日期时间格式字符串
<a name="FORMAT_strings"></a>

您可以在以下常见场景中使用日期时间模式：
+ 使用 CSV 和 JSON 数据源来解析和格式化日期时间内容时
+ 使用诸如以下的函数在字符串类型与日期或时间戳类型之间进行转换时：
  + unix\_timestamp
  + date\_format
  + to\_unix\_timestamp
  + from\_unixtime
  + to\_date
  + to\_timestamp
  + from\_utc\_timestamp
  + to\_utc\_timestamp

使用下表中的模式字母进行日期和时间戳的解析和格式化。


| 日期部分或时间部分  | 意义  | 示例 | 
| --- | --- | --- | 
| a | 当天的上午或下午，显示为上午至下午 | PM | 
| D | 一年中的某一天，以 3 位数字表示 | 189 | 
| d | 月份中的某一天，以 2 位数的数字表示 | 28 | 
| E | 一周中的某一天，以文字形式呈现 | 星期二<br />星期二 | 
| F | 该月中一周中的某一天对齐，以 1 位数的数字表示 | 3 | 
| G | 时代指示器，以文本形式呈现 | AD <br />Anno Domini | 
| h | 上午或下午的时钟时间，以 2 位数字表示 | 12 | 
| H | 一天中的某一小时，以 0 到 23 之间的 2 位数字表示 | 0 | 
| k | 一天中的时钟，以 1 到 24 之间的 2 位数字表示 | 1 | 
| K | 上午或下午的时间，以 0 到 11 之间的 2 位数字表示 | 0 | 
| m | 时分，以 2 位数的数字表示 | 30 | 
| M/L | 一年中的月份，以月份表示 | 7<br />07<br />七月<br />七月 | 
| O | 与 UTC 的本地化区域偏移量 | GMT\+8<br />GMT\+ 8:00<br />世界标准时间-08:00 | 
| Q/q  | 一年中的季度，以数字（1 到 4）或文本形式显示 | 3<br />03<br />Q3<br />第三季度 | 
| s | 分钟秒数，以 2 位数的数字表示 | 55 | 
| S | 一秒钟的分数，以分数形式呈现 | 978 | 
| V | 时区标识符，以区域 ID 的形式显示 | 美洲/洛杉矶<br />Z<br />08:30 | 
| x | 与 UTC 的区域偏移量（Offset-X） | \+0000<br />-08<br />-0830<br />-08:30<br />-083015<br />-08:30:15 | 
| X | 与 UTC 的区域偏移量；其中 Z 表示零 | Z<br />-08<br />-0830<br />-08:30<br />-083015<br />-08:30:15 | 
| y | 年份，以年份表示 | 2020<br />20 | 
| z | 时区名称，以文本形式显示 | 太平洋标准时间<br />PST | 
| Z | 与 UTC 的区域偏移量（偏移量-Z） | \+0000<br />-0800<br />-08:00 | 
| ' | 转义为文本，以分隔符的形式呈现 | 不适用 | 
| '' | 单引号，以字面形式呈现 | ' | 
| [ | 可选部分开始 | 不适用 | 
| ] | 可选章节结尾 | 不适用 | 

模式字母的数量决定了格式类型：

文本格式
+ 缩写形式使用 1-3 个字母（例如，“星期一” 表示星期一）
+ 完整表格应恰好使用 4 个字母（例如，“星期一”）
+ 不要使用 5 个或更多字母-这会导致错误

数字格式 (n)
+ 值 n 表示允许的最大字母数
+ 对于单字母图案：
  + 输出使用不带填充的最小位数
+ 对于多个字母图案：
  + 输出用零填充以匹配字母计数的宽度
+ 解析时，输入必须包含确切的位数

数字/文本格式
+ 对于 3 个或更多字母，请遵循文本格式规则
+ 对于较少的字母，请遵循数字格式规则

分数格式
+ 使用 1-9 个 'S' 字符（例如 SSSSSS）
+ 用于解析：
  + 接受 1 和 S 字符数之间的分数
+ 要进行格式化：
  + 用零填充以匹配 S 字符的数量
+ 支持高达 6 位数字，以实现微秒精度
+ 可以解析纳秒但会截断多余的数字

年份格式
+ 字母数设置填充的最小字段宽度
+ 对于两个字母：
  + 打印最后两位数字
  + 解析 2000-2099 年之间的年份
+ 对于少于四个字母（两个除外）：
  + 仅显示负年份的符号
+ 不要使用 7 个或更多字母-这会导致错误

月份格式
+ 使用 “M” 表示标准表单，使用 “L” 表示独立表单
+ 单曲 “M” 或 “L”：
  + 显示不带填充的月份数字 1-12

  
+ 'MM'或'LL'：
  + 显示带有填充的月份数字 01-12
+ 'MM'：
  + 以标准格式显示缩写的月份名称
  + 必须是完整日期模式的一部分
+ '哈哈'：
  + 以独立形式显示缩写的月份名称
  + 用于仅限月份的格式
+ 'MMM'：
  + 以标准格式显示完整的月份名称
  + 用于日期和时间戳
+ '哈哈'：
  + 以独立形式显示完整的月份名称
  + 用于仅限月份的格式

时区格式
+ 上午至下午：仅使用 1 个字母
+ 区域 ID (V)：仅使用 2 个字母
+ 区域名称 (z): 
  + 1-3 个字母：显示简称
  + 4 个字母：显示全名
  + 不要使用 5 个或更多字母

偏移格式
+ X 和 x：
  + 1 个字母：显示小时 (\+01) 或小时分钟 (\+0130)
  + 2 个字母：显示不带冒号的小时分钟 (\+0130)
  + 3 个字母：显示带冒号的小时分钟 (\+ 01:30)
  + 4 个字母：显示时 hour-minute-second不带冒号 (\+013015)
  + 5 个字母： hour-minute-second用冒号显示 (\+ 01:30:15)
  + X 使用 'Z' 表示零偏移
  + x 使用 '\+00'、'\+0000' 或 '\+ 00:00 '作为零偏移量
+ O: 
  + 1 个字母：显示简写形式 (GMT\+8)
  + 4 个字母：显示完整表格 (GMT\+ 08:00)
+ Z: 
  + 1-3 个字母：显示不带冒号的小时分钟 (\+0130)
  + 4 个字母：显示完整的本地化表单
  + 5 个字母： hour-minute-second用冒号显示

可选章节
+ 使用方括号 [] 标记可选内容
+ 您可以嵌套可选部分
+ 所有有效数据都显示在输出中
+ 输入可以省略整个可选部分

**注意**  
符号 'E'、'F'、'q' 和 'Q' 仅适用于日期时间格式（例如 date\_format）。不要使用它们来解析日期时间（比如 to\_timestamp）。