嗨,我需要将毫秒转换为日期。 MYSQL 也应该可以接受该日期。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("US/Central"));
calendar.setTimeInMillis(System.currentTimeMillis());
System.out.println("GregorianCalendar -" + sdf.format(calendar.getTime()));
我尝试了这个例子,但这里“sdf.format(calendar.getTime()”这个方法给出了以下格式的字符串。 “yyyy-MM-dd HH:mm:ss”
但我希望日期对象也采用上述格式(yyyy-MM-dd HH:mm:ss)。
那么如何将其转换为日期格式。
请帮我解决这个问题...
提前谢谢...:)
最佳答案
我们不将日期或时间戳作为字符串存储在数据库中。因此,以特定格式保存是没有意义的。您只需将它们保存为 SQL Timestamp
,然后使用 Date 格式函数(无论是在 Java 中还是在后端使用PL/SQL)每当您需要显示或需要它们的字符串表示形式时。
因此,使用java.sql.Timestamp
作为
Timestamp dbDateTime = new java.sql.Timestamp(System.currentTimeMillis()); // or
Timestamp dbDateTime = new java.sql.Timestamp(calendar.getTimeInMillis());
编辑:
如果 DOB 字段的类型为 java.util.Date
则使用
Timestamp dbDateTime = new java.sql.Timestamp(dob.getTime());
如果字段的类型为java.sql.Date
,那么您可以按原样保存它(如果后端列也是DATE
类型),或者使用相同的上面的代码首先将其转换为 Timestamp
。
关于java - 从毫秒转换为 MYSQL 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17490221/