java 如何将字符串转换为日期格式 dd-MMM-yyyy 格式?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/7825142/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-30 21:35:10  来源:igfitidea点击:

How to convert string into date format dd-MMM-yyyy format?

java

提问by user998533

I have date in format dd-MMM-yyyy. Now I want to add 30 days to it. How to do this?

我的日期格式为 dd-MMM-yyyy。现在我想增加 30 天。这个怎么做?

回答by Johan Sj?berg

JodaTimeprovides a great approach to this

JodaTime对此提供了一个很好的方法

new DateTime().addDays(30);

It can also easily convert to and from java.util.Dateobjects if you desire to use your date format. You could also achieve a similar result with Calendar

java.util.Date如果您希望使用日期格式,它还可以轻松地与对象相互转换。你也可以达到类似的结果Calendar

Calendar c = GregorianCalendar.getInstance();
c.setTime(/*your date*/);
c.add(Calendar.DAY_OF_YEAR, 30);

回答by Vivin Paliath

Use SimpleDateFormatand Calendar:

使用SimpleDateFormatCalendar

Date date = new Date();
try {
    SimpleDateFormat format = new SimpleDateFormat("dd-MMM-yyyy");
    date = format.parse(dateString);

    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    calendar.add(Calendar.DAY_OF_YEAR, 30);

    date = calendar.getTime();

} catch(ParseException e) {
    ...
}

However, if you want to make handling dates even more painless, I'd go with Johan's answer (use JodaTime), but this will require use of a third-party library.

但是,如果您想让处理日期更加轻松,我会采用 Johan 的回答(使用JodaTime),但这需要使用第三方库。