java - 将带有时区的日期字符串转换为仅工作日和日期

标签 java date timestamp date-formatting

我有一个像这样的字符串:Wed Feb 20 02:48:00 GMT+05:30 2019 我需要将其转换为 Wed 20 .

我该怎么做?

我试过string.replace() ,但这没有帮助 我是新手请帮忙

最佳答案

如果您将使用始终以此字符串格式表示的日期,
那么也许你可以使用String split方法,在空格上分隔日期。

String sourceDate = "Wed Feb 20 02:48:00 GMT+05:30 2019";
String[] dateParts = sourceDate.split(" ");

这将产生一个包含单独 block 的数组

dateParts = { 'Wed', 'Feb', '20','02:48:00', 'GMT+05:30', '2019' }

然后你就可以获取你需要的 block 了

String resultDate = dateParts[0] +" "+ dateParts[2];

Wed 20

<小时/>

如果您打算对日期进行其他操作,您可能需要考虑使用 DateTimeFormatter 将日期 String 转换为实际的 Date

它的工作原理如下:

String string = "January 2, 2010";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMMM d, yyyy", Locale.ENGLISH);
LocalDate date = LocalDate.parse(string, formatter);
System.out.println(date); // 2010-01-02

根据您的日期格式,需要替换 LocalDate.parse() 的位置。
仅日期 -> LocalDate#parse(text, formatter)
日期和时间 -> LocalDateTime#parse(text, formatter)
日期、时间和时区 -> ZonedDateTime#parse(text, formatter)

关于java - 将带有时区的日期字符串转换为仅工作日和日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54919407/

相关文章:

java - 如何更改不是我在 RecycleView 中单击的项目?

Bash,如何使用不同的语言环境打印日期

c++ - 为什么微秒时间戳重复使用(私有(private))gettimeoftheday() 即纪元

java - 已签名和带时间戳的 JAR 过期后不起作用

java - Hibernate,使用createNativeQuery方法时出现错误

java - 测试使用 Java Swing : best approach? 编码的应用程序 GUI

java - 复杂字符串的正则表达式

javascript - 如何将 datepicker 结束日期设置为从当前日期起 20 年?

mysql - 从 MySql 中仅选择年份

logging - 如何将 dmesg 时间戳转换为自定义日期格式?