将日历转换为dd-MMM-yyyy格式的日期

2022-08-24 00:00:00 simpledateformat java

我正在尝试将10-APR-2014添加17天并将日期转换为dd-MMM-yyyy格式,但我得到的结果是Sun Apr 27 00:00:00 GMT+05:30 2014

以下是我的代码:

import java.util.*;
import java.text.*;
public class HelloWorld{

    public static void main(String []args){
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
        Calendar c = Calendar.getInstance();
        c.setTime(new Date());
        c.add(Calendar.DATE, 17);
        String output = sdf.format(c.getTime());
        System.out.println(output);
        System.out.print(new SimpleDateFormat("dd-MMM-yyyy").parse(output));
    }
}

如何使输出27-Apr-2014


解决方案

您正在打印根据日历日期格式化的字符串分析的日期。

相反,打印格式化的日历日期:

System.out.print(new SimpleDateFormat("dd-MMM-yyyy").format(c.getTime()));

如果显示和使用日期不连续,请执行以下操作:

Date date; // from Calendar or wherever
String str = new SimpleDateFormat("dd-MMM-yyyy").format(date));
// display str 

然后,当您想要在选定的日期做某事时:

String selection;
Date date = new SimpleDateFormat("dd-MMM-yyyy").parse(selection));
// do something with date

相关文章