-2

我有一个从 sql 数据库中检索到的日期(例如:2013-08-22 00:00:00.000)。我需要将其转换为另一种格式(例如:2013 年 8 月)。

2013-08-22 00:00:00.000 -> 2013 年 8 月

我如何使用java来做到这一点?

4

3 回答 3

1

试试这个(如果你想以你想要的方式格式化日期):

假设包含日期的字符串变量是“日期”...

String[] months = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
int index = date.subString(5,6);
String year = date.subString(0,3);
date = months[index-1] + "-" + year;
于 2013-08-22T11:24:26.117 回答
0

如果您的日期是从数据库中检索的,那么您应该.getDate使用ResultSet. 这样你就得到了一个合适的Date对象,你可以用任何你喜欢的方式格式化它。

如果它作为字符串来自其他地方,那么您可以创建一个SimpleDateFormat具有您需要的特定格式的对象并使用parse方法来获取该Date对象。然后,再次,您可以按照自己喜欢的方式对其进行格式化。

于 2013-08-22T11:19:36.397 回答
-1

获取自过去日期(例如 1970 年 1 月 1 日)以来的秒数。

SELECT DATEDIFF(s,'1970-01-01','2013-08-22') AS seconds

然后,您可以获取此值并将其添加到 Java 或任何其他语言中的同一日期。

这将是解决日期格式区域差异的可靠方法。

于 2013-08-22T11:46:52.257 回答