我正在使用以下行将当前日期转换为特定格式:
new SimpleDateFormat("yyyyMMdd").format(new Date())
此行返回String。如何将此字符串转换回日期。我想在SQL查询中使用格式化日期与日期字段进行比较。
需要一行java代码,因为我想在表达式字段的jasper报告中使用它。
答案 0 :(得分:2)
使用parse
的{{1}}方法。
SimpleDateFormat
了解更多信息,请查看官方文档:
https://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html
答案 1 :(得分:0)
您可以使用parse(String source)
方法表单SimpleDateFormat
来获取字符串并将其转换为date
,如下所示:
String format = new SimpleDateFormat("yyyyMMdd").format(new Date());
Date parse = new SimpleDateFormat("yyyyMMdd").parse( format );
答案 2 :(得分:0)
格式化你了解什么?它只是排列或设置某些东西的方式。如果我说文档的格式,我实际上并没有改变文档的类型,而是根据我的方式改变它的组织方式。
解析时正在将某种数据转换为另一种数据。
所以根据你的要求,你要更改字符串到日期,所以首先你需要解析,然后根据你想要的格式进行格式化。
一种方法
Scanner sc=new Scanner(System.in);
System.out.println("Enter the date");
String stringDate=sc.nextLine();
DateFormat dateFormat=new SimpleDateFormat("dd/MM/yyyy");//give it your desired format
Date date=new Date();
try {
date=dateFormat.parse(stringDate);
} catch (ParseException e) {
e.printStackTrace();
}
编辑:因为在评论中你说..你想要将当前日期格式化为一行,试试这个就行了。
import java.text.SimpleDateFormat;
import java.util.Date;
public class IntermTest {
public static void main(String...strings ){
System.out.println((new SimpleDateFormat("yyyyMMdd")).format(new Date()));
}
}