从 simpledateformat 获取昨天

Get yesterday from simpledataformat

这是我让今天过长的代码。 我可以使用此代码获取昨天吗?

SimpleDateFormat date_0 = new SimpleDateFormat("yyMMdd");
Date date_1 = new Date();
long date_t = Long.valueOf(date_0.format(date_1));

编辑> 我用这个解决

SimpleDateFormat date_0 = new SimpleDateFormat("yyMMdd");
Date date_1 = new Date();
long date_t = Long.valueOf(date_0.format(date_1));
long date_2 = date_1.getTime();
Date yesterday = new Date(date_2 -= 86400000);
long date_y = Long.valueOf(date_0.format(yesterday));

我不确定,但这应该可行:

SimpleDateFormat date_0 = new SimpleDateFormat("yyMMdd");
Date date_1 = new Date();
date_1.setDate(date_1.getDay()-1);
long date_t = Long.valueOf(date_0.format(date_1));

您可以将当前日期减去 86400000 毫秒(相当于一天)。

           SimpleDateFormat date_0 = new SimpleDateFormat("yyMMdd");
           Date date_1 = new Date();
           long date_t = date_1.getTime();
           date_t -= 86400000;
           Date yesterday = new Date(date_t);
           System.out.println("Yesterday's Date: " + date_0.format(yesterday));
SimpleDateFormat date_0 = new SimpleDateFormat("yyMMdd");

Calendar calendar = Calendar.getInstance(); // this is default system date
calendar.add(Calendar.DAY_OF_MONTH, -1);    // minus date to previous day 
long date_t = Long.valueOf(date_0.format(calendar.getTime())); // convert into long
System.out.println(date_0.format(calendar.getTime())); // system print 151110

您可以使用 Joda-Time。该设计允许多个日历系统,同时仍然提供一个简单的 API。

private DateTime getPreviousDateAndTime(int previousCount){
   DateTimeFormat format = DateTimeFormat.forPattern("yyyy-MM-dd 00:00:00.000000000");
   DateTime now = new DateTime();
   DateTime expectedDate = now.minusDays(previousCount);
   return expectedDate;
}

将以下依赖添加到build.gradle

dependencies {
    compile 'net.danlew:android.joda:2.9.0'
}

简单..

private Calendar calendar;

  public void getPreviousDay() {
        calendar.add(Calendar.DATE, -1);
    }