我想将以下模式转换为yyyy-mm-ddThh:mm:ssz
2017-feb-02
2017-05-02
2017-01-01 03:00:00
2017-01-01 00:00:00.0
我已经通过Java的SimpleDateFormat类。但是我没有能力实现它。
答案 0 :(得分:1)
您要转换的模式应该是:yyyy-MM-dd'T'HH:mm:ssz
。查看更多here。
你可以用SimpleDateFormat
来做,一个小例子:
String date = "2017-05-02";
String oldFormat = "yyyy-MM-dd";
String newFormat = "yyyy-MM-dd'T'HH:mm:ssz";
SimpleDateFormat sdf = new SimpleDateFormat(oldFormat);
try {
Date newDate = sdf.parse(date);
sdf.applyPattern(newFormat);
System.out.println(sdf.format(newDate));
} catch (ParseException e) {
e.printStackTrace();
}
答案 1 :(得分:0)
我会在您的问题的评论部分提到的帮助下解决您的问题:
public static void main(final String[] args) throws Exception {
String[] formatStrings = { "yyyy-MMM-dd", "yyyy-MM-dd", "yyyy-MMM-dd hh:mm:ss", "yyyy-MMM-dd hh:mm:ss.S" };
String yourDate = "2017-Mar-02";
Date date = null;
for (String formatString : formatStrings) {
try {
date = new SimpleDateFormat(formatString, Locale.US).parse(yourDate);
} catch (ParseException e) {
}
}
DateFormat formatTo = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssz", Locale.US);
System.out.println(formatTo.format(date));
}