当前位置:

首页 > 编程开发 > 怎么通过 String.format() 的 %tF 占位符实现不依赖第三方库的日期格式化快捷输出

怎么通过 String.format() 的 %tF 占位符实现不依赖第三方库的日期格式化快捷输出

在Java中,%tF是String.format()自带的日期占位符,可直接输出yyyy-MM-dd格式,无需任何第三方库,使用方便。支持long、Date、Calendar及TemporalAccessor等多种日期类型。其格式固定,不支持自定义分隔符;时区敏感性取决于输入对象的类型,并且不能直接格式化字符串。

%tF 是 Ja va 里 `String.format()` 自带的一个日期格式化占位符,专门用来输出 `yyyy-MM-dd` 格式的日期字符串。最大的好处是——不需要额外引入任何第三方库,像 Joda-Time 或者 `ja va.time.format.DateTimeFormatter` 都用不上,非常适合快速、轻量的日期输出场景。

怎么通过 String.format() 的 %tF 占位符实现不依赖第三方库的日期格式化快捷输出

那这个 `%tF` 到底是怎么运作的?其实它是 `ja va.util.Formatter` 定义的“时间/日期转换”之一,属于一种复合转换:以 `%t` 开头,后面跟一个单独的格式字母。这里的 `F` 代表 ISO 8601 日期格式,也就是 `yyyy-MM-dd`。 它只接受日期类的参数,包括 `long`(毫秒时间戳)、`ja va.util.Date`、`ja va.util.Calendar`,还有 Ja va 8 引入的 `ja va.time.temporal.TemporalAccessor`(比如 `LocalDateTime`、`LocalDate` 这些)。这点需要注意,不是随便什么类型都能往里塞的。

基本用法示例

用法很简单,直接传入支持的时间对象就行: - `String.format("%tF", System.currentTimeMillis())` → 输出 `"2024-06-15"` - `String.format("%tF", new Date())` → 输出 `"2024-06-15"` - `String.format("%tF", LocalDate.now())` → 输出 `"2024-06-15"` - `String.format("%tF", LocalDateTime.now())` → 同样只取日期部分,输出 `"2024-06-15"` 可以看到,无论传入什么类型,最终输出的都是统一的 `yyyy-MM-dd` 格式,很省事。

注意事项与常见陷阱

有几个地方得特别留意。 **不支持自定义分隔符或局部格式**:`%tF` 固定输出 `yyyy-MM-dd`,没法改成 `yyyy/MM/dd` 或者 `dd.MM.yyyy`。如果你有这种需求,就得用 `%tY-%tm-%td` 手动拼,或者干脆上 `ja va.time.format.DateTimeFormatter`。 **时区敏感性取决于输入类型**: - 传 `long` 或 `Date`:按 JVM 的默认时区转成本地日期 - 传 `LocalDate`:没有时区概念,直接输出 - 传 `ZonedDateTime` 或 `Instant`:会先转换到系统默认时区,再取日期部分 **不能单独对字符串解析后格式化**:这一点很关键——`%tF` 不接受像 `"2024-01-01"` 这样的纯字符串。如果手头只有字符串,必须先解析(比如用 `LocalDate.parse()`),再传进去。

替代方案(当 %tF 不够用时)

如果 `%tF` 满足不了你的格式要求,又想避免引入第三方库,可以组合其他 `%t` 占位符: - `String.format("%tY年%tm月%td日", LocalDate.now())` → 输出 `"2024年06月15日"` - `String.format("%td/%tm/%tY", Calendar.getInstance())` → 输出 `"15/06/2024"` - `String.format("%tF %tR", new Date())` → 输出 `"2024-06-15 14:30"`(日期加 24 小时制时间) 写多参数格式化的时候要记住:所有 `%tX` 必须共用同一个时间参数,不能写成 `String.format("%tF", d1, "%tR", d2)`。每个 `%t` 都消耗一个参数,按顺序对应,这一点很容易踩坑。
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发
相关文章 更多
滴露就争议视频致歉:由第三方创作、被拼接截取,存在审核失职
滴露就争议视频致歉:由第三方创作、被拼接截取,存在审核失职

滴露官方微博6月22日就争议视频发布声明,称该视频由第三方创作、被拼接截取,公司存在审核失职,对造成的误解深表歉意,并承诺加强内容审核管理。

Mac怎么清理第三方下载工具的临时文件
Mac怎么清理第三方下载工具的临时文件

Mac第三方下载工具残留的.part等临时文件需分四步清理:定位专属临时目录、扫描删除.part/.incomplete文件、重置缓存与数据库、彻底清空废纸篓。Mac上使用迅雷、IDM、Folx、Motrix等第三方下载工具后,会在系统各处留下大量未完成的.part文件、临时缓存块、断点续传元数据及

斗鱼直播手机版设置绑定第三方qq账号的方法
斗鱼直播手机版设置绑定第三方qq账号的方法

斗鱼APP作为备受欢迎的线上直播与社交平台,提供了丰富多样的直播内容和短视频资源,涵盖游戏、娱乐等多个领域。该应用支持开播、发布动态、观看视频等功能,为用户带来了精彩的互动体验。为确保账号安全与正常使用,用户需要完成手机号绑定和实名认证等基础设置。此外,斗鱼APP还支持绑定QQ、微博、微信等第三方账

谷歌关闭Tenor GIF搜索API对外服务,要求第三方平台另寻出路
谷歌关闭Tenor GIF搜索API对外服务,要求第三方平台另寻出路

谷歌关闭TenorAPI对外服务,仅限自家产品使用,导致X、Discord等第三方平台被迫迁移,转向Giphy等替代方案,GIF搜索基础设施格局面临重新洗牌。

ZAKER手机版设置绑定第三方新浪微博账号的方法
ZAKER手机版设置绑定第三方新浪微博账号的方法

ZAKER移动版本质上是一款以新闻资讯聚合为核心的阅读应用,面向关注时事变化的用户,提供了数量充足且类型多样的信息内容,覆盖汽车、科技、热点头条等多个垂直频道,因此无论是中老年用户,还是年轻群体,都有着不低的接受度和使用意愿。浏览新闻时,不少用户会把那些观点鲜明、表达干练的文章转发出去,应用也支持一

支付宝怎么取消第三方应用授权
支付宝怎么取消第三方应用授权

第三方应用的授权,通常是从支付宝里的隐私设置或授权管理这条路径进入处理,并不在芝麻信用那套入口里。真要解除之前,最好先弄清楚自己准备取消的到底是哪一类:是登录授权、信息授权,还是支付相关授权。这个区分很关键,不然一旦操作错了,很可能把其他联动功能也顺手断掉。 先从设置进入隐私 打开支付宝后进“我的”

手机如何通过第三方助手传文件
手机如何通过第三方助手传文件

360手机助手传文件到手机的核心步骤是:打开软件并USB连接手机→确保悬浮框显示(未出现则在设置中启用)→直接拖拽文件至悬浮框,文件自动存入手机“360”文件夹。手机通过第三方助手传文件,核心是绕过系统自带限制、避开云中转、实现本地直连或高速局域网传输。你不需要登录多个账号,也不用等上传下载,只要手

如何在Linux中配置第三方软件库
如何在Linux中配置第三方软件库

管理Linux第三方软件源,核心在于“信源”与“防冲突”。Debian/Ubuntu用户可通过在 /etc/apt/sources.list.d/ 下配置带 signed-by 参数的源文件并导入密钥来实现;RHEL系则推荐借助 yum-config-manager 或 .repo 文件进行配置。此

中国电信:8月起第三方互联网渠道不再提供电信号卡办理相关服务
中国电信:8月起第三方互联网渠道不再提供电信号卡办理相关服务

中国电信自2026年8月1日起,所有第三方互联网渠道不再提供电信号卡办理服务。此举旨在制止不法商家冒用授权名义发布虚假售卡信息、收集用户敏感信息,保障用户数据安全。用户需通过中国电信App或官网等官方渠道办理。

中国电信8月1日起停止第三方互联网办卡,移动、联通暂未发布类似公告
中国电信8月1日起停止第三方互联网办卡,移动、联通暂未发布类似公告

中国电信宣布自2026年8月1日起,第三方互联网渠道停止办理其号卡,仅限官方App等渠道,旨在防范虚假售卡和信息泄露。中国移动、联通暂未发布类似公告。第三方渠道虽优惠但投诉多发,过渡期细则待明确。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
Adobe Acrobat Pro macOS版
Adobe Acrobat Pro macOS版
Mac

Adobe Acrobat Pro 是面向办公、法务、财务、教育及出版用户的专业PDF处理软件,可在Mac上创建、编辑、转换、合并和保护文档,并提供OCR文字识别、表单、批注、内容比较、敏感信息遮盖及电子签名功能。

Blender
Blender
Windows、macOS 和 Linux

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

Shapr3D macOS版
Shapr3D macOS版
Mac

Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。

WINDOWS 更多
3ds max(3dmax)
3ds max(3dmax)
Windows

Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

PixTV 网页版
PixTV 网页版
Windows

PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。

AutoCAD Windows版
AutoCAD Windows版
Windows

AutoCAD 是 Autodesk 推出的专业计算机辅助设计软件,Windows 版支持精确二维绘图、三维实体与曲面建模、图纸标注、布局发布和任务自动化,并包含多套行业专业化工具组合,适用于建筑、机械、电气、工程建设及制造设计人员。