如何在安卓中以“YYYY-MM-DD”格式获取日期对象

22

我有一个需求,需要比较两个日期。其中一个日期将从数据库中获取,它是以“YYYY-DD-MM”格式的字符串形式存在,我需要将这个字符串日期与当前日期进行比较。

为了实现这一点,我将日期字符串转换为日期对象。

现在我还需要当前日期以“YYYY-MM-DD”格式,并且它应该是日期对象,以便我可以使用.compareTo()方法比较两个日期。

请帮助我如何实现...


3
这个讨论串上有几个正确的答案,你应该接受其中一个。 - akousmata
6个回答

65
 Date cDate = new Date();
 String fDate = new SimpleDateFormat("yyyy-MM-dd").format(cDate);

6
您可以按照以下方式完成此操作。
// pick current system date

    Date dt = new Date();

// set format for date

   SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

 // parse it like

        String check = dateFormat.format(dt);


        System.out.println("DATE TO FROM DATEBASE   " + 
                arrayOfStringDate[d].toString());
        System.out.println("CURRENT DATE   " + check);

// 和比较操作

System.out.println("compare    "+ 
        arrayOfStringDate[d].toString().equals(check));

5
Calendar c = Calendar.getInstance();
SimpleDateFormat tf = new SimpleDateFormat("yyyy-MM-dd");
String time=DB time;
Date parseTime= tf.parse(time);
Integer dayNow=c.getTime().getDate();
Integer dayDb=parseTime.getDate();

然后您可以比较dayNowdayDb


4

如果您当前的日期实际上是java.util.Date类的一个实例,您不需要为其指定格式;它只是代表特定时刻的毫秒值。

您可以这样获取当前日期:

Date currentDate = new Date();

3
你可以采用以下两种方式:
  1. 使用DateFormat对象,调用其parse方法。

  2. 自己编写日期解析器。也就是说,将年、月和日分别转换为整数,然后使用Date构造函数获取日期。


0
你可以调用SimpleDateFormat,并从SimpleDateFormat访问当前日期的字符串形式。
    SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
    String currentTime=simpleDateFormat.format(new Date());
    Log.d("Currentdate",currentdate);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接