有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java字符串到日期没有时间

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

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;

有人知道我如何将格式保持在日期(例如,2000年12月3日)吗? 谢谢


共 (2) 个答案

  1. # 1 楼答案

    我有一个与@BalusC类似的解决方案,除了此解决方案将提供与区域设置相关的格式:

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

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

  2. # 2 楼答案

    只需使用^{}相应地格式化它

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

    java.util.Date对象包含有关日期和时间的信息。如果只希望日期部分采用人类可表示的格式,则需要将其格式化为String。在执行System.out.println(dateObject)时调用^{}只会返回格式为dow mon dd hh:mm:ss zzz yyyy的日期。另请参见链接的javadoc