没有时间的Java String to Date

时间:2010-07-06 22:48:11

标签: java

我正在学习Java课程,我需要将字符串转换为日期格式(dd / MM / yyyy)。我一直在使用SimpleDateFormat来格式化我的输入,但是它显示了日期所在的时间,时区和星期几。以下是我的代码片段:

SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); 
Date date = new Date(); 
do{ 
    y = JOptionPane.showInputDialog(null, 
                                    "Please enter the vehicle's registration date",
                                    "Year?", 
                                    JOptionPane.QUESTION_MESSAGE); 
    try { 
        date = df.parse(y); 
        check = true; 
    } 
    catch (ParseException e) { 
        check = false; 
    } 
} 
while (check == false); 
return date;

任何人都知道如何将格式保留为日期(例如12/3/2000)? 感谢

2 个答案:

答案 0 :(得分:4)

使用SimpleDateFormat#format()进行相应格式化。

String dateString = new SimpleDateFormat("dd/MM/yyyy").format(dateObject);

java.util.Date对象包含有关 日期和时间的信息。如果您只想要人类可表示格式的日期部分,则需要将其格式化为String。正如您在System.out.println(dateObject)时所做的那样调用Date#toString()只会返回dow mon dd hh:mm:ss zzz yyyy格式的日期。另请参阅链接的javadoc。

答案 1 :(得分:0)

我有一个类似@BalusC的解决方案,除了这个将提供依赖于语言环境的格式:

String dateString = java.text.DateFormat.getDateInstance().format(dateObject);

换句话说,您的美国和欧盟客户将获得不同的格式。他们熟悉的一个。