【问题标题】:calculate 3 months after the date - Android计算日期后 3 个月 - Android
【发布时间】:2020-02-10 10:20:27
【问题描述】:

我想计算从数据库中提取日期后的 4 个月。我怎样才能做到这一点。历史输出如下。

2019 年 11 月 27 日星期三 14:42:23 GMT+03:00

  JSONObject form_tarih2 = jObj.getJSONObject("form_tarih2");
        String date = form_tarih2.getString("date");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
        Date calculateDate = sdf.parse(date);

【问题讨论】:

  • 我建议你不要使用SimpleDateFormatDate。这些类设计不佳且早已过时,尤其是前者,尤其是出了名的麻烦。而是使用来自java.time, the modern Java date and time APILocalDateTimeDateTimeFormatter

标签: android datetime date-manipulation


【解决方案1】:

试试这个:

JSONObject form_tarih2 = jObj.getJSONObject("form_tarih2");
String date = form_tarih2.getString("date");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
Date calculateDate = sdf.parse(date);

final Calendar calendar = Calendar.getInstance();
calendar.setTime(calculateDate);
calendar.add(Calendar.MONTH,4);

您可以使用Calendar根据需要添加/子日期、月份、年份等

【讨论】:

  • I/System.out: calendarjava.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=libcore.util.ZoneInfo[id="Europe/Istanbul ",mRawOffset=10800000,mEarliestRawOffset=7016000,mUseDst=false,mDstSavings=0,transitions=129],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2020,MONTH=2,WEEK_OF_YEAR=48,WEEK_OF_MONTH=5 ,DAY_OF_MONTH = 27,DAY_OF_YEAR = 331,DAY_OF_WEEK = 4,DAY_OF_WEEK_IN_MONTH = 4,AM_PM = 1,HOUR = 2,HOUR_OF_DAY = 14,MINUTE = 42,SECOND = 23,微差= 0,ZONE_OFFSET = 10800000,DST_OFFSET = 0]
  • 我的回答是基于java.util.Calendar。但是您也可以使用 GregorianCalendar,但语法和实现可能会有所不同。
  • 您是直接打印calendar 实例吗?您必须通过调用 sdf.format(calendar.getTimeInMillis()); 再次格式化日期
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多