Java:如何获取日期而不是时间?

时间:2012-09-27 10:34:58

标签: java date

我可以获得今天的日期,而不是时间吗?

这是我的代码

public static void main(String args[]) throws ParseException{   
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    Calendar calendar = Calendar.getInstance();
    Date today = calendar.getTime();

}

为什么今天的日期显示为日期之前?

public class Ravi {

    public static void main(String args[]) throws ParseException {

        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = new Date();
        System.out.println("Todays Date"+dateFormat.format(date));


        List currentObject = new ArrayList();

        currentObject.add("2012-09-27");

        Date ExpDate = dateFormat.parse((String) currentObject.get(0));

        System.out.println("ddd"+ExpDate);

        if (ExpDate.before(date)) {
            System.out.println("true");
        }

        else {
            System.out.println("false");
        }

    }

}

6 个答案:

答案 0 :(得分:4)

System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));

将打印 2012-09-27

答案 1 :(得分:3)

因为日期始终是完整的当前时间,例如2012.09.27 12:45:23

虽然您的新Formated日期是2012.09.27 00:00:00,但输出正确。

如果你想得到假,你需要将小时,分钟和秒设置为0。

使用日历:

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat.format(cal.getTime()));

使用日期:

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Date date = new Date();
System.out.println(dateFormat.format(date));

将日期与日历进行比较:

Calendar old = Calendar.getInstance();

old.set(Calendar.YEAR, 2011);

Calendar now = Calendar.getInstance();

old.before(now));

注意您可能希望将小时分和秒设置为0.

答案 2 :(得分:1)

今天以yyyy-MM-dd格式表示日期。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String output = sdf.format(new Date());
System.out.println(output);

答案 3 :(得分:1)

  

为什么今天的日期显示为日期之前?

当你dateFormat.parse("2012-09-27");时 你会得到的日期是00h00min00sec 2012-09-27 因此,当您将其与new Date();进行比较时,您将获得今天的日期,但之后的几个小时(以及分钟和秒),这就是为什么“2012-09-27”在新的日期()之前

答案 4 :(得分:0)

您可以这样做:

Date date=new Date();
            SimpleDateFormat sd=new SimpleDateFormat("yyyyMMdd HHmmss");
            String strDate=sd.format(date);
            String dateNow=strDate.substring(0,strDate.indexOf(" "));
            String timeNow=strDate.substring(strDate.indexOf(" ")+1);

希望这有帮助。

答案 5 :(得分:0)

public static void main(String args[]) throws ParseException{   
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    Calendar calendar = Calendar.getInstance();
    Date today = calendar.getTime();
sysout(dateFormat.format(today))
}