回答
基本上 -
從上面的字符串創建一個日期格式對象
解析成日期對象,無論你喜歡格式化。
例如(我沒有測試過這一點):
/*
* REFERENCE:
* http://javatechniques.com/blog/dateformat-and-simpledateformat-examples/
*/
import java.text.DateFormat;
import java.util.Date;
public class DateFormatExample1 {
public static void main(String[] args) {
// Make a new Date object. It will be initialized to the current time.
DateFormat dfm = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
Date d = dfm.parse("2011-09-07 00:00:00");
// See what toString() returns
System.out.println(" 1. " + d.toString());
// Next, try the default DateFormat
System.out.println(" 2. " + DateFormat.getInstance().format(d));
// And the default time and date-time DateFormats
System.out.println(" 3. " + DateFormat.getTimeInstance().format(d));
System.out.println(" 4. " +
DateFormat.getDateTimeInstance().format(d));
// Next, try the short, medium and long variants of the
// default time format
System.out.println(" 5. " +
DateFormat.getTimeInstance(DateFormat.SHORT).format(d));
System.out.println(" 6. " +
DateFormat.getTimeInstance(DateFormat.MEDIUM).format(d));
System.out.println(" 7. " +
DateFormat.getTimeInstance(DateFormat.LONG).format(d));
// For the default date-time format, the length of both the
// date and time elements can be specified. Here are some examples:
System.out.println(" 8. " + DateFormat.getDateTimeInstance(
DateFormat.SHORT, DateFormat.SHORT).format(d));
System.out.println(" 9. " + DateFormat.getDateTimeInstance(
DateFormat.MEDIUM, DateFormat.SHORT).format(d));
System.out.println("10. " + DateFormat.getDateTimeInstance(
DateFormat.LONG, DateFormat.LONG).format(d));
}
}
你的第一個格式字符串不正確 - 月份是MM,而不是mm。 –
...而你錯過了'T'和日期/時間戳的時區部分。 –
我將獲得上述日期格式作爲XML文件的輸入,我需要將它轉換爲「dd.MM」 – Beginner
這裏是一個樣本
編輯代碼:
public static void main(String[] args) throws ParseException {
String input = "2011-09-07T00:00:00+02:00";
SimpleDateFormat inputDf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat outputDf = new SimpleDateFormat("dd.MM");
Date date = inputDf.parse(input.substring(0,9));
System.out.println(date);
System.out.println(outputDf.format(date));
}
我將獲得上述日期格式作爲XML文件的輸入,我需要將其轉換到「dd.MM」 – Beginner
@neha檢查您的要求的新代碼。如果你不理解它,請嘗試在eclipse中調試代碼。你應該能夠弄清楚 –
您的代碼需要一點點的修正在以下行上
Date date = inputDf.parse(input.substring(0,9));
代替(0,9)
您需要輸入(0,10)
,您將獲得所需的輸出。
TL;博士
OffsetDateTime.parse("2011-09-07T00:00:00+02:00").format(DateTimeFormatter.ofPattern("dd.MM")
java.time
問題等回答使用已被證明是麻煩和混亂的舊的遺留類。他們已經被java.time類取代。
您的輸入字符串採用標準的ISO 8601格式。這些格式在java.time類中默認使用。所以不需要指定格式化模式。
OffsetDateTime odt = OffsetDateTime.parse("2011-09-07T00:00:00+02:00");
您可以生成你想要的格式的字符串。
DateTimeFormatter f = DateTimeFormatter.ofPattern("dd.MM");
String output = odt.format(f);
MonthDay
你想月份和日期的日。實際上有一個課程,MonthDay
。
MonthDay md = MonthDay.from(odt);
您可以生成所需格式的字符串。
DateTimeFormatter f = DateTimeFormatter.ofPattern("dd.MM");
String output = md.format(f);
- 1. 如何在Java中格式化非日期日期?
- 2. 如何格式化java日期
- 3. Java/Android:如何格式化日期?
- 4. 在java中格式化日期
- 5. Java格式化日期
- 6. 用Java格式化日期
- 7. 的Java格式化日期
- 8. 格式化日期爲Java
- 9. 如何在Perl中格式化日期?
- 10. 如何在Flash中格式化日期?
- 11. 如何在PHPExcel中格式化日期?
- 12. 如何在PHP中格式化日期
- 13. 如何在Moment.js中格式化日期
- 14. 如何在xslt中格式化日期?
- 15. 如何在JSTL中格式化日期
- 16. 如何在Meteor中格式化日期?
- 17. 如何在flex中格式化日期?
- 18. 如何在.find()中格式化日期?
- 19. 如何在SQL中格式化日期?
- 20. 如何在Javascript中格式化日期?
- 21. 如何在Android中格式化日期?
- 22. 如何在angular2中格式化日期?
- 23. 如何在VisualForce中格式化日期?
- 24. 如何格式化日期?
- 25. 如何格式化日期?
- 26. 如何格式化日期
- 27. 如何將格式化日期轉換爲日期對象Java
- 28. 日期格式在Java中
- 29. 在PHP中格式化日期格式
- 30. Java中的本地化日期格式
您是否搜索過「如何在java中設置日期格式?」在互聯網上甚至在這個網站?我不這麼認爲。 –