如何使用SimpleDateFormat的

获得所需的日期格式

我的方法是:如何使用SimpleDateFormat的

public String changeCurrentDate(Integer variant){ 

String currentTime = TestApp.getInstance().getDriver().findElement(By.id("common.HeaderComponent.mainLayout.serverTimeLabel")).getText();

String currentDate = currentTime.substring(0, 10);

System.out.println("currentDate " +currentDate);

String date = null;

DateFormat df = new SimpleDateFormat("dd/mm/yyyy");

try{

Date date3 = df.parse(currentDate);

df.format(date3);

System.out.println("date3 " +date3);

Date previousDate = DateUtils.addDays(date3, variant);

date = previousDate.toString();

return date;

}catch (Exception e){

}

return date;

}

注:currentTime的变量总是有一个像“18/12/2017” 我期待日期的结果DD值/ mm/yyyy格式。但它总是给这样的“Wed Jan 18 00:12:00 IST 2017”。

运行时间结果:

currentDate 18/12/2017 

date3 Wed Jan 18 00:12:00 IST 2017

回答:

您应该返回格式化日期,而不是日期的toString()。试试这个:

Date previousDate = DateUtils.addDays(date3, variant); 

return df.format(previousDate);

回答:

df.format简单地返回应用了格式的日期的字符串表示,因此,你在你的代码有行没有任何影响。

试着改变你的代码中使用的格式输出,而不是:

public String changeCurrentDate(Integer variant){ 

String currentTime = TestApp.getInstance().getDriver().findElement(By.id("common.HeaderComponent.mainLayout.serverTimeLabel")).getText();

String currentDate = currentTime.substring(0, 10);

System.out.println("currentDate " +currentDate);

DateFormat df = new SimpleDateFormat("dd/mm/yyyy");

Date date3 = df.parse(currentDate);

System.out.println("date3 " + df.format(date3));

Date previousDate = DateUtils.addDays(date3, variant);

return previousDate.toString();

}

而且 - 其糟糕赶上例外,所以你应该删除。

回答:

我们应该总是试图找出更方便的方法,以便我们能够进一步使用它。在这种情况下,我们可以使用下面的方法:

public String dateString(String input) {   

SimpleDateFormat parser = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy");

String formattedDate = "";

try {

Date date = parser.parse(input);

SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");

formattedDate = formatter.format(date);

} catch (ParseException e) {

e.printStackTrace();

}

return formattedDate;

}

您可以轻松地调用这个方法象下面这样:

Date date3 = df.parse(currentDate); 

df.format(date3);

String input = date3.toString();

String requiredDate = dateString(input);

System.out.println("requiredDate: "+ requiredDate);

它返回输出象下面这样:

requiredDate: 18/12/2017 

以上是 如何使用SimpleDateFormat的 的全部内容, 来源链接: utcz.com/qa/263312.html

回到顶部