繁体   English   中英

过去一个月、两个月前、三个月前的 SimpleDateFormat

[英]SimpleDateFormat for past month, two months ago, three months ago

我正在使用 SimpleDateFormat 来获取当前月份,但我想显示一个包含本月和过去三个月信息的 recyclerview 表。

我的 php json 加载了这个,但我想自动把它放在 android 中。

    periodo1 = findViewById(R.id.tittle_periodo1);
    periodo2 = findViewById(R.id.tittle_periodo2);
    periodo3 = findViewById(R.id.tittle_periodo3);
    periodo4 = findViewById(R.id.tittle_periodo4);

    SimpleDateFormat month_date = new SimpleDateFormat("yyyyMM");
    String month1 = month_date.format(c.getTime());
    periodo1.setText(month1);

使用 Java8 语法,您可以使用时间库来实现这一点

import java.time.LocalDate;

LocalDate now = LocalDate.now(); // 2019-11-01 (Nov)

LocalDate minusOneMonth = now.minusMonths(1); // 2019-10-01 
minusOneMonth.getMonth().getValue(); // Gives -1 month (10)

LocalDate minusTwoMonth = now.minusMonths(2); // 2019-09-01 
minusTwoMonth.getMonth().getValue(); // Gives -2 month (09)

希望这就是你要找的。

如果您不能使用 Java8 语法,请使用以下

    Calendar cal = Calendar.getInstance();
    cal.setTime(new Date());
    cal.add(Calendar.MONTH, -1);
    Date newDate = cal.getTime();

.... = new SimpleDateFormat("M")

尝试这个:

   Calendar calendar = Calendar.getInstance();
    calendar.setTime(new Date());
    calendar.add(Calendar.MONTH, -3); // -3 is Number of months past (july)
    Date newDate = calendar.getTime();

如果需要,您可以对其进行格式化:

  String date = DateFormat.format("MM/dd/yyyy", newDate).toString();

尝试使用 GregorianCalendar class。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM