我有一个从 sql 数据库中检索到的日期(例如:2013-08-22 00:00:00.000)。我需要将其转换为另一种格式(例如:2013 年 8 月)。
2013-08-22 00:00:00.000 -> 2013 年 8 月
我如何使用java来做到这一点?
试试这个(如果你想以你想要的方式格式化日期):
假设包含日期的字符串变量是“日期”...
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;
如果您的日期是从数据库中检索的,那么您应该.getDate
使用ResultSet
. 这样你就得到了一个合适的Date
对象,你可以用任何你喜欢的方式格式化它。
如果它作为字符串来自其他地方,那么您可以创建一个SimpleDateFormat
具有您需要的特定格式的对象并使用parse
方法来获取该Date
对象。然后,再次,您可以按照自己喜欢的方式对其进行格式化。
获取自过去日期(例如 1970 年 1 月 1 日)以来的秒数。
SELECT DATEDIFF(s,'1970-01-01','2013-08-22') AS seconds
然后,您可以获取此值并将其添加到 Java 或任何其他语言中的同一日期。
这将是解决日期格式区域差异的可靠方法。