减去日期原始日期:20140320 Android

时间:2014-04-04 10:55:04

标签: java android

示例(Date) btDate.getTag() = 20140320;

如何从20140320减去一年,并将结果设为日期格式 例如,20140320结果= 20130320

2 个答案:

答案 0 :(得分:1)

您可以使用以下自定义方法

private String getSubStractYear ( String date )
{
    try
    {
        SimpleDateFormat sdf = new SimpleDateFormat ( "yyyyMMdd" );
        Date myDate = sdf.parse(date);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(myDate);
        calendar.add(Calendar.YEAR , -1 );

        return ( sdf.format( calendar.getTime() ) );
    }
    catch ( Exception e )
    {
        e.printStackTrace();
        return "";
    }
}

输入:20140320
产量:20130320

答案 1 :(得分:-1)

在Java 8中,您可以使用新的日期/时间类:

你的职能:

private String substractYears(final String dateFrom, final int yearsToSubstract) {
    final DateTimeFormatter dtf  = DateTimeFormatter.ofPattern("yyyyMMdd");
    final LocalDate         date = LocalDate.parse(dateFrom, dtf);       

    return dtf.format(date.minusYears(yearsToSubstract));
}

使用示例:

System.out.printf("%s\n", substractYears("20140302", 1));


这将打印:20130302