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

Convert a date string with time zone to only weekday and date

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

我该怎么做?

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

试试这个

class Test
{
        public static void main(String ... args)
        {
                String s="Wed Feb 20 02:48:00 GMT+05:30 2019";
                String arr[]=s.split(" ");
                if (arr.length >=3)
                {
                        String result=arr[0]+" "+arr[2];
                        System.out.println(result);
                }
        }
}
$ java Test
Wed 20

如果您要使用始终以这种 String 格式表示的日期,
那么也许您可以使用 String split 方法,在空格上分隔您的日期。

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

这将导致 Array 包含单独的块。

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

然后你就可以拿走你需要的方块了

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)