java - 如何剪切 LocalDateTime 格式字符串以将年份从 4 位限制为 2 位?
问题描述
例如,我有一个带有日期和时间的字符串11/12/2020 10:45
,因此采用这种格式。我想剪掉它,让它的第 7 和第 8 个字符消失,所以我喜欢11/12/20 10:45
。我该怎么做?我一直在寻找.split()
Strings 的方法,但它不会减少字符数,而是使用正则表达式。
解决方案
我有一个带日期的字符串。我想剪掉它,让它的 7 和 8 字符消失。
当然,这是可行的——这就是substring
目的。但这不是你的问题。你的问题是:我有个约会;我希望以某种方式呈现它。有一种不好的方法可以解决这个涉及子字符串的问题,而您现在正在询问有关解决问题的坏策略的问题。让我们不要为支持解决潜在问题的愚蠢方向的答案而烦恼。split
同样是字符串操作。
好的,那我该怎么做呢?
只要有可能,如果你有一个明确定义的概念,那么就使用它。你有约会的概念。希望它是一个实例的形式LocalDateTime
。如果不是,那么让我们实现它:
String input = "2022-12-10 14:10:45";
DateTimeFormatter IN_FORMAT = DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss");
// adjust the pattern to match whatever you have, of course.
LocalDateTime mark = LocalDateTime.parse(input, IN_FORMAT);
现在我们有了一个 LDT 实例,工作就变成了:好的,那么如何将其格式化为字符串,以便年份只使用 2 位数字?这很容易。
DateTimeFormatter OUT_FORMAT = DateTimeFormatter.ofPattern("dd-MM-uu HH:mm");
String out = OUT_FORMAT.format(mark);
推荐阅读
- mongodb - mongoDB 从聚合中只返回一个字段
- node.js - 如何使用从公共客户端发出的令牌查询 keycloak 资源权限
- node.js - Expressjs:google-auth-libary id-token 验证“token used too late number > number...”
- json - Json按值升序而不是按键排序
- javascript - 如何通过 UID 从 Prismic.io 检索最后发布的文档版本?
- spring - 获取 Spring Boot 内部服务器错误状态 500 大约一分钟
- css - Webpack - 加载 css,同时排除它被添加到页面
- windows - 如何在 Windows 10 中以编程方式修改驱动程序的显示名称
- location - 我做了一个在谷歌地图上显示当前位置的活动,它不起作用,我似乎无法找出原因?
- google-cloud-platform - 是否可以为 BigQuery ML (BQML) 设置查询大小限制配额?