我有一个表,其数据类型为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的日期
基础教程推荐
- java – Spring嵌入式数据库IllegalState错误 2023-10-29
- maven 解包依赖项中的文件的解决方法 2023-03-06
- Java CompletableFuture实现多线程异步编排 2023-05-13
- SpringBoot结合Vue实现投票系统过程详解 2023-06-01
- Spring Boot实现文件上传下载 2023-04-12
- Java使用PrepareStatement实现数据的插入与查询操作 2023-05-23
- Springboot实例讲解实现宠物医院管理系统流程 2022-12-06
- Java将本地项目部署到Linux服务器的实践 2022-12-06
- SpringBoot异常处理之异常显示的页面问题 2023-05-14
- RocketMq 消息重试机制及死信队列详解 2023-06-06
