我知道这是一个常见问题,但我找不到如何在MySQL中存储java.util.Date
对象。
有可能吗?如果不是你需要什么样的解决方案,因为我需要在MySQL数据库中存储这个准确的时间。
答案 0 :(得分:0)
public static void main(String[] args) {
Date date = new Date() ;
System.out.println(date);
// or use calendar
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2013);
cal.set(Calendar.MONTH, 1);
cal.set(Calendar.DATE, 13);
cal.set(Calendar.HOUR, 23);
cal.set(Calendar.MINUTE, 52);
cal.set(Calendar.SECOND, 10);
date = cal.getTime();
}
为您提供Sun Jan 13 23:48:59 IST 2013
答案 1 :(得分:0)
您可以使用SimpleDateFormat:
SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY-MM-DD HH:mm:ss");
System.out.println(dateFormat.format(new Date()));
如果您,我怀疑,想要将字符串转换为日期对象,那么您仍然可以使用SimpleDateFormat:
SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY-MM-DD HH:mm:ss");
Date d = dateFormat.parse("2011-02-21 23:22:10");
答案 2 :(得分:0)
在大多数情况下,您不应使用Date
对象,java.util.Dat
e不是不可变的;
更好的是使用原始long
,它将日期存储为utc时间。 (自2012年1月1日午夜以来的毫秒数)这与当地时间,白天节省无关。等
您通过方法long
从临时getTimestamp()
对象获取Date
值。 (或直接或间接来自GregorianCalendar
)
从长utc时间戳,您可以轻松创建所需的任何Date对象(例如在DB中)。
如果你需要当地时间,事情会变得复杂得多。因此,最好的建议是仅将本地时间用于显示(例如UI)目的,并在显示之前立即转换为本地时间。最好不要在当地时间存储日期)
答案 3 :(得分:-1)
查看Calendar课程。
只需致电Calendar.getInstance()
以获取实例,然后您可以使用get(Calendar.YEAR);
获取年份,get(Calendar.DAY);
获取当天,依此类推。
您可以使用set()
方法以类似的方式设置时间。
如果要将其转换为日期对象,请使用getTime();
方法,如果要将日期格式化为字符串,请查看SimpleDateFormat
。
作为一般例子:
Calendar c = Calendar.getInstance();
c.set(2012, 11, 1, 10, 10); //Sets c to 10:10, 1st December 2012
Date date = c.getTime(); //If you want the calendar object as a date
int day = c.get(Calendar.DAY); //Get the current day in the calendar as an integer
String format = new SimpleDateFormat("HH:mm:ss DD-MM-YYYY").format(c.getTime()); //Print date as a string
您还可以使用SimpleDateFormat
对象来解析日期,如下所示:
Date d = new SimpleDateFormat("HH:mm:ss DD-MM-YYYY").parse("10:10:00 01-12-12");
如果您不止一次使用SimpleDateFormat
,那么最好将其作为单独的变量而不是继续重新创建。
答案 4 :(得分:-2)
class Date {
int year;
int month;
int day;
int hour;
int minute;
public Date(int year, int month, int day, int hour, int minute){
this.year = year;
this.month = month;
this.day = day;
this.hour = hour;
this.minute = minute;
}
}
现在您可以创建此实例,并将其传递。此外,您可以创建getter / setter或toString函数。