【问题标题】:Calendar.month and year broke?Calendar.month 和 year 坏了?
【发布时间】:2019-01-30 22:53:11
【问题描述】:

我试图获取年份和年份的月数(从 1 到 12)。 但是当我使用该代码时,它只给我一个月的数字 2 和一年的数字 1。

 Calendar calendar=Calendar.getInstance();
    String currentdate;
    SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/YYYY");
    currentdate=sdf.format(calendar.getTime());

    Calendario.gprec=calendar.DAY_OF_MONTH;
    Calendario.mprec=calendar.MONTH;
    Calendario.aprec=calendar.YEAR;

【问题讨论】:

  • 顺便考虑扔掉早已过时且臭名昭著的麻烦SimpleDateFormat和它也过时的朋友Calendar,并将ThreeTenABP添加到您的Android项目中以便使用java.time,现代 Java 日期和时间 API。使用起来感觉好多了。
  • 还要检查格式模式字母的大小写。大写的YYYY会给你带来不愉快的惊喜。

标签: android date calendar java.util.calendar


【解决方案1】:

您正在分配 field 的静态值。而您必须从 Calender 获取字段值。所以你的代码应该是这样的:

  Calendar calendar=Calendar.getInstance();
  Calendario.gprec=calendar.get(Calendar.DAY_OF_MONTH);
  Calendario.mprec=calendar.get(Calendar.MONTH);
  Calendario.aprec=calendar.get(Calendar.YEAR);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    • 2022-01-14
    • 2023-03-03
    相关资源
    最近更新 更多