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

时间:2019-02-28 06:07:33

标签: java date timestamp date-formatting

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

我该怎么做?

我尝试了string.replace(),但这无济于事 我是新手,请帮忙

2 个答案:

答案 0 :(得分:1)

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

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

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

  

dateParts = {'星期三','二月','20','02:48:00','GMT + 05:30','2019'}

然后,您可以拿起所需的积木

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

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)

答案 1 :(得分:0)

尝试

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