相关疑难解决方法(0)

如何设置MySQL的时区?

在一台服务器上,当我运行时:

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 timezone

301
推荐指数
14
解决办法
62万
查看次数

如何获取MySQL的当前时区?

谁知道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......

mysql timezone

186
推荐指数
8
解决办法
30万
查看次数

MySQL日期时间字段和夏令时 - 我如何引用"额外"时间?

我正在使用美国/纽约时区.在秋天,我们"退回"一小时 - 在凌晨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).但这似乎不应该是必要的.

非常感谢任何建议.

php mysql datetime timestamp dst

83
推荐指数
5
解决办法
4万
查看次数

如何使MySQL的NOW()和CURDATE()函数使用UTC?

我想这样做,所以在MySQL查询中调用NOW()和CURDATE()会以UTC格式返回日期.如何在不经过并更改使用这些功能的所有查询的情况下实现此目的?

mysql timezone utc

41
推荐指数
6
解决办法
5万
查看次数

服务器时区值"AEST"无法识别或代表多个时区

我正在尝试设置一个简单的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)

java mysql hibernate maven

41
推荐指数
4
解决办法
6万
查看次数

在MySQL中获取当前UTC时间的unix时间戳的最佳方法

我一直在尝试在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时间戳?

mysql mysql-workbench

38
推荐指数
1
解决办法
5万
查看次数

MySQL查询当前的GMT时间

这听起来很简单但我无法弄清楚如何使用简单的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中的当前时间.在此先感谢您的帮助!

mysql datetime gmt convert-tz

25
推荐指数
4
解决办法
6万
查看次数

如何从UTC时间获取MySQL中的Unix时间戳?

如果我这样做unix_timestamp(some_date),它会在内部转换some_date为UTC,而some_date已经是UTC.有没有办法获得当前的Unix时间戳?

编辑:我需要UTC时间的Unix时间戳.

mysql datetime

17
推荐指数
2
解决办法
2万
查看次数

MySql - 以UTC格式选择TimeStamp列

在我的Mysql 5.0 DB中,我有一个列来控制LastUpdated信息.Column是TimeStamp,MySql自动更新数据.

我正在尝试以UTC格式选择此列.

问题是服务器设置为美国日期时间.根据MySql文档,数据库以UTC格式存储信息,但是当我想显示信息时,它会将其转换为服务器的时间.

有没有办法做SELECT命令避免这种转换?

mysql utc

14
推荐指数
2
解决办法
2万
查看次数

JPA 保存后 MySQL 日期更改为昨天的日期

我在使用 Spring 的 JpaRepository 将实体保存到 MySQL 时遇到了日期字段/数据库列的问题。

该实体具有 LocalDate 字段。使用 LocalDate.now() 测试时,遇到返回日期字段的问题:

  1. 首先保存返回对象的日期是否正确。
  2. 当从 MySQL 数据库返回对象时,日期是前一天

例子:

预计: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)

java mysql hibernate spring-data-jpa

8
推荐指数
3
解决办法
8594
查看次数