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);
}
相关推荐
好家伙VCC8 分钟前
【无标题】
java
qq_5425154110 分钟前
Ubuntu 22.04.4 LTS安装ToDesk最新版打不开,无响应?旧版本4.7.2_277版本分享
linux·ubuntu·todesk
火车叼位14 分钟前
替代 Tiny Win10 的 Linux 方案:Debian XFCE 精简桌面搭建
linux·运维
小麦嵌入式27 分钟前
FPGA入门(四):时序逻辑计数器原理与 LED 闪烁实现
linux·驱动开发·stm32·嵌入式硬件·fpga开发·硬件工程·dsp开发
十八旬27 分钟前
快速安装ClaudeCode完整指南
开发语言·windows·python·claude
前进的李工43 分钟前
EXPLAIN输出格式全解析:JSON、TREE与可视化
开发语言·数据库·mysql·性能优化·explain
小碗羊肉1 小时前
【JavaWeb | 第十一篇】文件上传(本地&阿里云OSS)
java·阿里云·servlet
吾疾唯君医1 小时前
Java SpringBoot集成积木报表实操记录
java·spring boot·spring·导出excel·积木报表·数据文件下载
Byron Loong1 小时前
【c++】为什么有了dll和.h,还需要包含lib
java·开发语言·c++
皮卡蛋炒饭.1 小时前
传输层协议UDP
linux·网络协议·udp