这是我的“ 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"));```
答案 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));