如何在单行表达式中将String转换为Java中的Date对象?

时间:2015-04-27 05:19:24

标签: java

我正在使用以下行将当前日期转换为特定格式:

new SimpleDateFormat("yyyyMMdd").format(new Date())

此行返回String。如何将此字符串转换回日期。我想在SQL查询中使用格式化日期与日期字段进行比较。

需要一行java代码,因为我想在表达式字段的jasper报告中使用它。

3 个答案:

答案 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()));

    }
}