在一台服务器上,当我运行时:
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2009-05-30 16:54:29 |
+---------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
在另一台服务器上
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2009-05-30 20:01:43 |
+---------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud) 谁知道MySQL中是否有这样的功能?
UPDATE
这不会输出任何有效信息:
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | SYSTEM |
+--------------------+---------------------+
Run Code Online (Sandbox Code Playgroud)
或者也许MySQL本身无法准确知道所time_zone使用的,那很好,我们可以参与PHP这里,只要我能得到有效的信息不喜欢SYSTEM......
我正在使用美国/纽约时区.在秋天,我们"退回"一小时 - 在凌晨2点有效地"获得"一小时.在转换点,会发生以下情况:
它是01:59:00 -04:00
然后1分钟后变成:01 :00:
00-05 :00
因此,如果您只是简单地说"凌晨1点30分",那么您是指第一次1:30滚动还是第二次推测是不明确的.我正在尝试将调度数据保存到MySQL数据库,无法确定如何正确保存时间.
这是问题:
"2009-11-01 00:30:00"在内部存储为2009-11-01 00:30:00 -04:00
"2009-11-01 01:30:00"在内部存储为2009-11-01 01:30:00 -05:00
这很好,也很合理.但是如何保存到01:30:00 -04:00呢?该文件没有显示指定偏移,因此,当我试图指定偏移它已经正式忽略任何支持.
我想到的唯一解决方案是将服务器设置为不使用夏令时的时区,并在我的脚本中进行必要的转换(我正在使用PHP).但这似乎不应该是必要的.
非常感谢任何建议.
我想这样做,所以在MySQL查询中调用NOW()和CURDATE()会以UTC格式返回日期.如何在不经过并更改使用这些功能的所有查询的情况下实现此目的?
我正在尝试设置一个简单的hibernate应用程序,当我运行它时,我得到一个充满错误的堆栈跟踪.
我的文件中有以下maven依赖项pom.xml:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.0.Final</version>
</dependency>
<!-- http://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我在本地运行的mysql版本是:
5.7.9, for osx10.11 (x86_64)
Run Code Online (Sandbox Code Playgroud)
我正在运行,似乎是一种非常简单的方法,但仍然会出现错误:
// create session factory
SessionFactory factory = new Configuration()
.configure("hibernate.cfg.xml")
.addAnnotatedClass(Model.class)
.buildSessionFactory();
// create session
Session session = factory.getCurrentSession();
Model newModel = new Model("....", "...", "...");
// start a transaction
session.beginTransaction();
// save the student object
System.out.println("Saving the model...");
session.save(newModel);
Run Code Online (Sandbox Code Playgroud)
执行上面的操作后,我得到一个很长的堆栈跟踪...... System.out.println也没有打印...所以连接似乎没有连接.
INFO: HHH000115: Hibernate connection pool size: 1 (min=1)
Thu Jun 09 17:36:28 EST 2016 WARN: …Run Code Online (Sandbox Code Playgroud) 我一直在尝试在mySQL中使用以下内容为当前UTC时间创建一个unix标记
UNIX_TIMESTAMP(UTC_TIMESTAMP())
Run Code Online (Sandbox Code Playgroud)
当我执行查询并获得结果时,似乎mySQL正在进行两次UTC会话.
Eg. local time 9:07PM
Run Code Online (Sandbox Code Playgroud)
上面的查询返回:
1374390482,这是第二天07:08:02 GMT,这是正确的,
但是,UNIX_TIMESTAMP(LOCALTIMESTAMP())退货:
1374372551 02:09:11 GMT
Run Code Online (Sandbox Code Playgroud)
这是正确的UTC unix时间戳.
所以UNIX_TIMESTAMP自动将日期对象的时区转换为UTC(无论它是否已经是UTC?)
是否有更好的方法或单个命令只是为了在mySQL中获得UTC unix时间戳?
这听起来很简单但我无法弄清楚如何使用简单的SELECT语句来返回GMT中的当前时间.
我一直在尝试使用CONVERT_TZ()根据服务器时区和GMT时区将NOW()转换为GMT,但由于某种原因,当我放入文本时区时它返回NULL.我得到结果的唯一方法是实际放入偏移量,这对于应该是一个非常简单的操作来说太复杂了.这就是我的意思:
mysql> SELECT CONVERT_TZ(NOW(),@@global.system_time_zone,'GMT');
NULL
mysql> SELECT CONVERT_TZ(NOW(),'PST','GMT');
NULL
mysql> SELECT CONVERT_TZ(NOW(),'-08:00','+00:00');
2010-02-13 18:28:22
Run Code Online (Sandbox Code Playgroud)
我只需要一个简单的查询来返回GMT中的当前时间.在此先感谢您的帮助!
如果我这样做unix_timestamp(some_date),它会在内部转换some_date为UTC,而some_date已经是UTC.有没有办法获得当前的Unix时间戳?
编辑:我需要UTC时间的Unix时间戳.
在我的Mysql 5.0 DB中,我有一个列来控制LastUpdated信息.Column是TimeStamp,MySql自动更新数据.
我正在尝试以UTC格式选择此列.
问题是服务器设置为美国日期时间.根据MySql文档,数据库以UTC格式存储信息,但是当我想显示信息时,它会将其转换为服务器的时间.
有没有办法做SELECT命令避免这种转换?
该实体具有 LocalDate 字段。使用 LocalDate.now() 测试时,遇到返回日期字段的问题:
例子:
预计:2019-01-29
实际 :2019-01-28
我昨天试过了,结果是:
预计:2019-01-28
实际 :2019-01-27
也许类似于this JPA Saving wrong date in MySQL database
应用程序-mysql-test-connection.properties
spring.jpa.hibernate.ddl-auto=create
# Database url
spring.datasource.url=jdbc:mysql://localhost:3306/test_coupon_system?serverTimezone=UTC
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
# Test Database credentials
spring.datasource.username=springuser
spring.datasource.password=springuser
### showing values - for development
spring.jpa.show-sql=true
Run Code Online (Sandbox Code Playgroud)
为简洁起见,优惠券删除了构造函数和 getter/setter
@Entity
public class Coupon {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id", length = 45)
private long id;
@Column(name = "name", unique = …Run Code Online (Sandbox Code Playgroud)