0

我有可能得到今天的日期而不是时间吗?

这是我的代码

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");
        }

    }

}
4

6 回答 6

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

它将打印 2012-09-27

于 2012-09-27T10:38:01.637 回答
3

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

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

如果你想得到 false,你需要将小时、分钟和秒设置为 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));

请注意,您可能希望将 Hours Minutes 和 Seconds 设置为 0。

于 2012-09-27T10:40:17.437 回答
1

以 yyyy-MM-dd 格式获取今天的日期。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String output = sdf.format(new Date());
System.out.println(output);
于 2012-09-27T10:39:15.670 回答
1

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

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

于 2012-09-27T10:59:50.253 回答
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);

希望这可以帮助。

于 2012-09-27T10:39:09.047 回答
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))
}
于 2012-09-27T10:46:09.650 回答