如何比较字符串日期+月份与当前日期+月份

时间:2017-03-17 21:42:33

标签: android date date-comparison

我想做什么:

  

我有一个TextView我希望每天都能展示一年的报价   新报价。

详细信息:

为此,我想将当前日期+月与给定的字符串日期+月进行比较。 鉴于日期格式为 dd-MM (我不希望当年)

如何比较日期?

3 个答案:

答案 0 :(得分:0)

此:

"18-03-2017".substring(0, 5);

将返回“18-03”,因为它从索引0到索引5需要一个子字符串(请记住,由于索引行为,它实际上从0变为4)。

因此,如果您将日期存储在名为“date”的变量中,那么就像这样:

date.substring(0, 5);

如果你想将新日期存储在变量中,它将是这样的:

var = date.substring(0, 5);

希望它有所帮助。

答案 1 :(得分:0)

可以尝试类似:

​import java.text.*

String dateStr = "18-03"
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM")​​​​​​
​Date currentDate = new Date()


if( dateStr.equals(sdf.format(currentDate)) ){
    System.out.println("dates are the same")
}else{
    System.out.println("dates are different!")
}

因此,只需使用SimpleDateFormat类将日期格式化为仅包含日期和月份的字符串,并将其与您拥有的日期字符串进行比较     

答案 2 :(得分:0)

@Ignacia Valdes Zamudio这是我的代码。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

quote = new String("The Quote under else block is showing");
mtv = (TextView) findViewById(R.id.textView);


    String datestr = "19-03";
            SimpleDateFormat sdf = new SimpleDateFormat("dd-MM");
            Date currentDate = new Date();

    if (datestr.equals(sdf.format(currentDate))) {
        mtv.setText("today date is 18 of march");
    }

    else {

        mtv.setText(quote);
    }

错误告诉我这一行。

SimpleDateFormat sdf = new SimpleDateFormat("dd-MM");

Android Studio表示此类不支持API 24.支持STUDIO的消息**调用需要API级别24(当前最小值为23):android.icu.text.SimpleDateFormat #SimpleDateFormat less ...(Ctrl + F1)**