Java 字符串(2019年8月19日11:05)到日期格式

Java 字符串(2019年8月19日11:05)到日期格式,java,katalon-studio,Java,Katalon Studio,这是我的“2019年8月19日11:05”字符串,我需要转换为dd-mmm-yyy-hh:mm格式(GMT),另外我还需要获取当前GMT时间,感谢您的帮助 Date date1 = sdf.parse(lastupdated2) println date1 //println lastupdated2 Date date = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm");

这是我的“2019年8月19日11:05”字符串,我需要转换为dd-mmm-yyy-hh:mm格式(GMT),另外我还需要获取当前GMT时间,感谢您的帮助

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"));```

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

String sDate1="19-Aug-2019 11:05";  
Date date1=new SimpleDateFormat("dd-MMM-yyyy HH:mm").parse(sDate1); 
对于您的其他问题-要获取当前GMT时间,您可以使用以下选项:

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));

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

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));

您可以查看此链接-希望有帮助:)您使用旧的遗留日期api而不是java 8附带的现代日期时间api是否有soecifc原因?您使用旧的遗留日期api而不是java 8附带的现代日期时间api是否有soecifc原因?对于您的答案1,这是输出:Tue Aug 20 07:52:00 IST 2019 my code
Date date1=new SimpleDateFormat(“dd-MMM-yyyy-HH:mm”).parse(令牌[1]);println date1
令牌[1]变量中的字符串值是多少?我的答案的第1部分创建了一个Java Date对象,其中的字符串作为parse()方法的参数。你到底想完成什么?这个问题不太清楚。@Zabuza,是的,你是对的。但是他没有指定他使用的java版本。由于他已经尝试使用遗留api,我尝试使用相同的api纠正他的方法。这很公平。但也许您可以提供两种解决方案来提高答案的质量:)