我有一个需求,当我把日期从一种格式转换成另一种格式时,我可能会得到一个无法解析的日期异常。下面粘贴了该类的代码
public class DateTester {
public static void main(String[] args) {
// TODO Auto-generated method stub
String stringDate = "Fri Feb 26 14:14:40 CST 2016";
Date date = convertToDate(stringDate);
System.out.println(date);
}
public static Date convertToDate(String date) {
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
Date convertedCurrentDate = null;
try {
convertedCurrentDate = sdf.parse(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
System.out.println(e.getMessage());
}
return convertedCurrentDate;
}
}
使用此格式:
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
代码:
public class StackOverflowSample {
public static void main(String[] args) {
String stringDate = "Fri Feb 26 14:14:40 CST 2016";
Date date = convertToDate(stringDate);
System.out.println(date);
}
public static Date convertToDate(String date) {
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
Date convertedCurrentDate = null;
try {
convertedCurrentDate = sdf.parse(date);
} catch (Exception e) {
System.out.println(e.getMessage());
}
return convertedCurrentDate;
}
}
来源:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
编辑:如果要返回格式为“MM-dd-yyyy”的日期字符串
public static void main(String[] args) {
String stringDate = "Fri Feb 26 14:14:40 CST 2016";
Date date = convertToDate(stringDate);
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
String dateFormatted = sdf.format(date);
System.out.println(dateFormatted);
}
问题内容: 我正在尝试用正斜杠替换连字符,但结果是 我具有要转换的必要值,有人可以告诉我为什么它返回错误吗?另外,我想在格式的末尾附加一个,可以吗? 问题答案: 您需要先解析为正确的格式作为输入 然后您可以使用format()以其他格式打印它 并且不要期望类的方法返回格式化值,这是固定的实现
问题内容: 尝试转换日期格式时,出现一个异常:日期不可解析,并且不知道如何解决此问题。 我收到一个表示事件日期的字符串,并希望在GUI中以其他格式显示该日期。 我试图做的是以下几点: 不管怎么说 是假的。我想要以下格式的日期字符串: dd.MM.yyyy HH:mm:ss 输入的String示例如下: 2010-01-04 01:32:27 UTC 有谁知道如何将上面的示例日期(字符串)转换为字符
问题内容: 代码如下所示: 在上面的代码中,抛出不可解析的日期异常: 我不知道原因。 问题答案: 为什么要将日期转换为字符串并将其解析回日期? 代码失败的原因是因为您试图使用仅接受dd-MMM-yyy格式的日期的格式化程序转换完整日期。
问题内容: 我目前正在从事一些简单的项目,并且在以下字符串中有日期: 并希望将此字符串转换为对象。我正在使用以下代码行来做到这一点。我搜索了站点,找到了解决方法: 但是我可能做错了,因为我总是会遇到异常: 这似乎是我正在使用的模式的问题,但尝试了不同的模式,但没有任何效果。 问题答案: 某些字段(例如,星期几字段和/或AM / PM标记)可能与您的默认字段不匹配。具有方法getErrorOffse
当我试图解析发送到android客户端的日期字符串时,我得到了一个不可解析的日期。 这是个例外:
问题内容: 在照顾了几个现有的帖子之后,我仍然无法使我的SimpleDateFormat解析器正常工作。这是代码: 我总是以ParseException结尾。这是调试消息的输出: 06-09 23:52:17.478:DEBUG / DEBUG(2436):java.text.ParseException:无法解析的日期:06-09 23:52:17.478:DEBUG / DEBUG(2436)