java – mysql中UTC的日期

我有一个表,其数据类型为DATETIME.我使用java在此表中保留记录,并按如下方式计算当前日期.Date date = Calendar.getInstance(TimeZone.getTimeZone(UTC)).getTime();但当我检查我的桌子时,它再次将此时间转换为当地...

我有一个表,其数据类型为DATETIME.我使用java在此表中保留记录,并按如下方式计算当前日期.

Date date = Calendar.getInstance(TimeZone.getTimeZone("UTC")).getTime();

但当我检查我的桌子时,它再次将此时间转换为当地时区.

有人可以向我解释,如何在数据库中以UTC时区存储日期.

@码

我有一个db实体’Referral’对应于具有日期成员数据类型的表作为java.util.Date并使用hibernate来保存它.

Referral ref = new Referral();
ref.setCreationDate(Calendar.getInstance(TimeZone.getTimeZone("UTC")).getTime());
referralDAO.save(ref);

谢谢

Jitendra

解决方法:

MySql DATETIME以时区无关的方式存储.它只存储年/月/日/小时/分钟/秒

您如何解释该信息取决于您和您的应用程序.
如果您将其存储为UTC,那么当您检索它时,您必须确保将其解释为UTC.

您可能对此SO问题感兴趣:How can I get the current date and time in UTC or GMT in Java?

如该问题的答案中所述:

java.util.Date is always in UTC.
What makes you think it’s in local
time? I suspect the problem is that
you’re displaying it via an instance
of Calendar which uses the local
timezone, or possibly using
Date.toString() which also uses the
local timezone.

本文标题为:java – mysql中UTC的日期

基础教程推荐