字符串(19-Aug-2019 11:05)转换为日期格式

时间:2019-08-19 11:35:49

标签: java katalon-studio

这是我的“ 19-Aug-2019 11:05”字符串,我需要转换为dd-mmm-yyy hh:mm格式(格林尼治标准时间),另外,我还需要获取当前格林尼治标准时间,谢谢帮助,

Date date1 = sdf.parse(lastupdated2)

println date1
//println lastupdated2

Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm");
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));```

2 个答案:

答案 0 :(得分:1)

使用SimpleDateFormat的parse()方法将其解析为日期对象。

String sDate1="19-Aug-2019 11:05";  
Date date1=new SimpleDateFormat("dd-MMM-yyyy HH:mm").parse(sDate1); 

对于其他问题-要获取当前的格林尼治标准时间,您可以使用以下方法:

final Date currentTime = new Date();

final SimpleDateFormat sdf =
        new SimpleDateFormat("EEE, MMM d, yyyy hh:mm:ss a z");

// Give it to me in GMT time.
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println("GMT time: " + sdf.format(currentTime));

答案 1 :(得分:1)

如果要从输入字符串中查找日期,可以使用正则表达式:

String lastupdated = "Mubasher Last Update Time: 20-Aug-2019 07:42 (GMT)";
Pattern p = Pattern.compile("\\d{2}-\\w{3}-\\d{4} \\d{2}:\\d{2}");
Matcher m = p.matcher(lastupdated);
m.find();
System.out.println(m.group());

如果您还想将其转换为日期以进行进一步处理,建议使用LocalDateTime。

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd-MMM-yyyy HH:mm",Locale.US);
LocalDateTime updateTime = LocalDateTime.parse(m.group(),dtf);
System.out.println(updateTime.format(dtf));