java - 使用时区格式化日期。格式错误

标签 java

我使用 java.text.SimpleDateFormat 尝试了许多不同类型的解决方案但不太正确。

我收到的输入字符串是 Tue Nov 5 00:00:00 UTC+0530 2013
我想要的格式是 dd-MMM-yy
下面是我使用的代码:

SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM d HH:mm:ss zZ yyyy", Locale.ENGLISH);
date = formatter.parse(s);
System.out.println(date);

我收到一个 错误:未报告的异常 ParseException;必须被捕获或宣布被抛出 date = formatter.parse(s);

我尝试了很多格式更改,但仍然收到此错误。任何人都可以让我知道我传递的字符串的确切格式吗?

最佳答案

处理异常

您没有在代码中处理异常。这就是编译器给出错误的原因。你需要handle ParseException可能会在解析过程中抛出。

SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM d HH:mm:ss zZ yyyy", Locale.ENGLISH);
try{
   date = formatter.parse(s);
   System.out.println(date);
}catch(ParseException ex){
  //exception
  ex.printStackTrace();
}

或者您可以将 throws ParseException 添加到您的方法中。

根据您的评论,您似乎正在尝试将日期[String] 转换为另一种格式。如果我是正确的,那么以下示例可能会对您有所帮助。

String inputstring="Tue Nov 5 00:00:00 UTC+0530 2013";
SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM d HH:mm:ss zZ yyyy", Locale.ENGLISH);
DateFormat outformat = new SimpleDateFormat("dd-MMM-yy");
try {
    String result = outformat.format(formatter.parse(inputstring));
    System.out.println(result);
} catch (ParseException ex) {
    ex.printStackTrace();
}

输出:

04-Nov-13

关于java - 使用时区格式化日期。格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26781045/

相关文章:

java - 使用 Java 访问 JavaScript 对象属性

java - JMeter 不保存 Java 请求的参数

java - Web服务异常的潜在原因

java - 如何通过 Maven 3.3 运行注释处理?

java - Hibernate 搜索 Lucene 重音不敏感搜索

java - 如何在mongodb中找到匹配的记录?

java - 从 MySQL TIME 到 Java Date 的值未正确转换

java - 我可以根据 Java 泛型中方法的类参数返回 String 或 List

java - HTTP 传输错误 : javax.net.ssl.SSLHandshakeException

java迭代器并发修改即使有预防措施