yyyy-MM-dd‘T‘HH:mm:ssZ的T是什么意思?为什么要用单引号引着

背景

Java里的日期格式,通常我们看到 yyyy-MM-dd'T'HH:mm:ssZ 的写法是什么意思?

尤其这个T作为分隔符为什么左右有单引号,这个单引号会打印出来吗?

这个Z又是什么意思?是时区吗?如果是时区,输出的格式是什么?是类似于这样的字符串:+0800还是+08:00还是+8:00?

解释

yyyy-MM-dd'T'HH:mm:ssZ 的 T 是字符串T的意思,你也可以不用T,只不过大家习惯写成T。

  • 你用字母a分隔也行: yyyy-MM-dd'a'HH:mm:ssZ (输出eg: 2023-09-16a15:59:01+0800)
  • 你多用个字母分隔页行:yyyy-MM-dd'abc'HH:mm:ssZ (输出eg: 2023-09-16abc15:59:01+0800)

最终打印的结果不会出现单引号,这个单引号只是这个日期格式用来表示字符或字符串的形式;

这个日期表达式不用单引号不行,因为不用会被理解为具有特殊含义的字母(类似于y、M、d这些),会运行时抛出异常。

错误示例:yyyy-MM-ddTHH:mm:ssZ

验证的代码

java 复制代码
public static void main(String[] args) {
   String f = "yyyy-MM-dd'T'HH:mm:ssZ";
   SimpleDateFormat sdf = new SimpleDateFormat(f);

   String format = sdf.format(new Date());
   System.out.println(format);
}
相关推荐
爱笑的眼睛11几秒前
深入理解MongoDB PyMongo API:从基础到高级实战
java·人工智能·python·ai
leoufung2 分钟前
逆波兰表达式 LeetCode 题解及相关思路笔记
linux·笔记·leetcode
鸠摩智首席音效师5 分钟前
如何在 Linux 中使用 dd 命令 ?
linux·运维·服务器
笃行客从不躺平10 分钟前
遇到大SQL怎么处理
java·开发语言·数据库·sql
郝学胜-神的一滴11 分钟前
Python中常见的内置类型
开发语言·python·程序人生·个人开发
q***876017 分钟前
Spring Boot 整合 Keycloak
java·spring boot·后端
Billow_lamb18 分钟前
Spring Boot2.x.x全局拦截器
java·spring boot·后端
一夜空中最亮的星一27 分钟前
【Linux】ubuntu24.04 安装docker
linux·docker·eureka
上不如老下不如小29 分钟前
2025年第七届全国高校计算机能力挑战赛初赛 Java组 编程题汇总
java·计算机能力挑战赛
赖small强32 分钟前
【Linux 网络基础】libwebsockets 技术文档
linux·网络·https·tls·lib·websockets