Java 如何格式化2016-02-12T15:23:20+;02:00时间
我从我们的网络服务中获取上述日期格式。我有一个关于如何格式化日期的想法,我只是对它作为一个字符串存在问题 我已经尝试过了,但我需要将其作为字符串返回,这在某种程度上不是问题 这是我尝试过的,但它引发了一个异常: java.text.ParseException:不可解析日期: “2016-02-26T00:00:00+02:00”(在偏移量4处) 代码:Java 如何格式化2016-02-12T15:23:20+;02:00时间,java,android,date,Java,Android,Date,我从我们的网络服务中获取上述日期格式。我有一个关于如何格式化日期的想法,我只是对它作为一个字符串存在问题 我已经尝试过了,但我需要将其作为字符串返回,这在某种程度上不是问题 这是我尝试过的,但它引发了一个异常: java.text.ParseException:不可解析日期: “2016-02-26T00:00:00+02:00”(在偏移量4处) 代码: public static String formatDate(String unFormattedTime) { String
public static String formatDate(String unFormattedTime) {
String formattedTime;
try {
SimpleDateFormat sdf = new SimpleDateFormat("dd MMM HH:mm");
Date date = sdf.parse(unFormattedTime);
formattedTime = sdf.format(date);
return formattedTime;
} catch (ParseException e) {
e.printStackTrace();
}
return "";
}
如何将其格式化为dd MMM HH:mm这样的格式?这里是您想要实现的工作片段:
public class FormatDateExample {
public static void main(String[] args) {
String date = "2016-02-26T00:00:00+02:00";
System.out.println(formatDate(date));
}
public static String formatDate(String unFormattedTime) {
String formattedTime;
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date date = sdf.parse(unFormattedTime);
sdf = new SimpleDateFormat("dd MMM HH:mm");
formattedTime = sdf.format(date);
return formattedTime;
} catch (ParseException e) {
e.printStackTrace();
}
return "";
}
}
首先,必须使用给定的格式解析日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date date = sdf.parse(unFormattedTime);
然后您必须将该日期格式化为所需格式“dd MMM HH:mm”
下面是您想要实现的工作片段:
public class FormatDateExample {
public static void main(String[] args) {
String date = "2016-02-26T00:00:00+02:00";
System.out.println(formatDate(date));
}
public static String formatDate(String unFormattedTime) {
String formattedTime;
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date date = sdf.parse(unFormattedTime);
sdf = new SimpleDateFormat("dd MMM HH:mm");
formattedTime = sdf.format(date);
return formattedTime;
} catch (ParseException e) {
e.printStackTrace();
}
return "";
}
}
首先,必须使用给定的格式解析日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date date = sdf.parse(unFormattedTime);
然后您必须将该日期格式化为所需格式“dd MMM HH:mm”
如果您使用的是Java 8,可以尝试以下方法: LocalDate parsedDate=LocalDate.parse(未格式化时间、ISO\u偏移量\u日期\u时间) 参考:
如果您使用的是Java 8,您可以尝试以下方法: LocalDate parsedDate=LocalDate.parse(未格式化时间、ISO\u偏移量\u日期\u时间) 参考:
如果需要字符串,请使用新的SimpleDataFormat类重新格式化时间戳。不要使用getTime方法来获取long。您发布的链接告诉您如何将一个字符串解析为日期对象,您需要获得正确的格式以避免当前错误。您可以在格式化字符串之前替换“:”和“+”。还有,为什么您从Web服务中获得字符串表示?您不能获取日历或日期对象本身吗?只需使用DateFormat DateFormat df=new SimpleDateFormat(“dd MMM HH:mm”);也许你应该处理这个字符串。如果你想要一个字符串,那么使用一个新的SimpleDataFormat类来重新格式化时间戳。不要使用getTime方法来获取long。您发布的链接告诉您如何将一个字符串解析为日期对象,您需要获得正确的格式以避免当前错误。您可以在格式化字符串之前替换“:”和“+”。还有,为什么您从Web服务中获得字符串表示?您不能获取日历或日期对象本身吗?只需使用DateFormat DateFormat df=new SimpleDateFormat(“dd MMM HH:mm”);也许你应该处理好这根绳子。这很有魅力!!!看来我只是把它搞错了,先格式化,然后解析。谢谢你的工作就像一个魅力!!!看来我只是把它搞错了,先格式化,然后解析。谢谢你