如何转换10/21/2009至Wed Oct 21 18:48:12 UTC + 0530 2009

时间:2009-10-21 13:31:09

标签: java

嗨,任何人都可以帮我解决如何在我的java课程中从10/21/2009转换到星期三10月21日18:48:12 UTC + 0530 2009

3 个答案:

答案 0 :(得分:4)

坦率地说,你不能将10/21/2009转换为星期三10月21日18:48:12 UTC + 0530,原因很简单,因为第一个日期确实既不包含时间信息也不包含时区信息。

答案 1 :(得分:3)

String dateString = new SimpleDateFormat("dd/MM/yyyy").parse(d).toString();

在这里,您将获得更多信息:http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html

答案 2 :(得分:2)

你没有指定原始值(10/21/2009)是日期对象还是字符串,我将假设它实际上是一个String,所以你首先需要解析字符串和使用SimpleDateFormatter类将其转换为日期对象

import java.text.SimpleDateFormatter;

SimpleDateFormatter sdf = new SimpleDateFormatter("MM/dd/yyyy");
Date d = sdf.parse("10/21/2009");

一旦你有了一个日期对象,你就可以在它上面调用toString()来获取你想要的字符串,或者用你想要的模式创建另一个SimpleDateFormatter对象(检查javadocs),然后调用format()

关于JDK中可用的DateFormatter类,您应该注意几点事项

  • 如果无法解析字符串,则parse方法将抛出异常,您需要相应地处理异常
  • JDK中可用的日期格式化程序类是而不是线程安全。不要创建这些类型的私有/受保护/公共成员变量,而是在您需要的方法中创建格式化程序/解析器