java中“dd/MMM/yyyy:HH:mm:ss”转换为格式“yyyy-MM-dd HH:mm:ss”

时间:2023-02-18 17:13:27

 工作遇到时间格式转换问题,

就是在日志分析时,

需要将格式“15/Oct/2009:14:00:00 +0800”转为格式“2009-10-15 14:00:00”,

找了好久没有找到合适的,终于在友人的帮助下解决了:

String viewtime = " 15/Oct/2009:14:00:00 +0800 ";


Date time = new Date();

//Z 对于格式化来说,使用 RFC 822 4-digit 时区格式 ,Locale.US表示使用了美国时间
SimpleDateFormat sdf =

                new SimpleDateFormat("dd/MMM/yyyy:HH:mm:ss Z", Locale.US);


time = sdf.parse(viewtime);

SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");


viewtime = sdf2.format(time);

 

顺便抽出时间总结了一下java中的时间知识点:

表示年的----- yyyy, e.g  2009

表示月的-----MMM,e.g  October

            -----MMM,e.g  Oct

            -----MM  ,e.g   10

表示日的-----dd    ,e.g   15

表示星期几的-----dddd,  e.g   Tuesday

0-23小时的------HH,e.g  14

表示分钟的-----mm,e.g  30

表示秒的--------ss,e.g    59