草庐IT

Timezone

全部标签

php - 在 PHP 和 MySQL 上处理时区的最佳方法是什么?

我目前正在研究在我的网站上处理时区的最佳方式。来自许多不同国家的人会同时访问它,我必须向他们展示基于时间的信息,所以我想:根据我的服务器(相同时区,由PHP定义)每次都存储在数据库中然后,用户可以选择他的时区,我使用mysql函数DATEADD进行所需的转换。这似乎工作正常,但我的问题是:这是最好的方法吗?DATEADD是处理时差最有效的函数吗?谢谢。 最佳答案 如MySQLServerTimeZoneSupport中所述:Thecurrentsessiontimezonesettingaffectsdisplayandstorag

php - 在 PHP 和 MySQL 上处理时区的最佳方法是什么?

我目前正在研究在我的网站上处理时区的最佳方式。来自许多不同国家的人会同时访问它,我必须向他们展示基于时间的信息,所以我想:根据我的服务器(相同时区,由PHP定义)每次都存储在数据库中然后,用户可以选择他的时区,我使用mysql函数DATEADD进行所需的转换。这似乎工作正常,但我的问题是:这是最好的方法吗?DATEADD是处理时差最有效的函数吗?谢谢。 最佳答案 如MySQLServerTimeZoneSupport中所述:Thecurrentsessiontimezonesettingaffectsdisplayandstorag

php - 处理不同时区的PHP服务器和MySQL服务器

对于我们这些使用标准共享托管包(例如GoDaddy或NetworkSolutions)的人,当您的托管服务器(PHP)和MySQL服务器位于不同时区时,您如何处理日期时间转换?另外,对于确定您网站的访问者所在的时区和适本地操作日期时间变量,是否有人提供了一些最佳实践建议? 最佳答案 从PHP5.1.0开始,您可以使用date_default_timezone_set()函数设置脚本中所有日期/时间函数使用的默认时区。对于MySql(引用自MySQLServerTimeZoneSupport页)BeforeMySQL4.1.3,the

php - 处理不同时区的PHP服务器和MySQL服务器

对于我们这些使用标准共享托管包(例如GoDaddy或NetworkSolutions)的人,当您的托管服务器(PHP)和MySQL服务器位于不同时区时,您如何处理日期时间转换?另外,对于确定您网站的访问者所在的时区和适本地操作日期时间变量,是否有人提供了一些最佳实践建议? 最佳答案 从PHP5.1.0开始,您可以使用date_default_timezone_set()函数设置脚本中所有日期/时间函数使用的默认时区。对于MySql(引用自MySQLServerTimeZoneSupport页)BeforeMySQL4.1.3,the

Mysql:将数据库从本地时间转换为UTC

我需要从本地时间utUTC转换现有的(日期时间字段)数据库。这些值存储在具有CET(+1)时区(夏令时+2)的服务器上的广告日期时间。选择数据时,我使用UNIX_TIMESTAMP(),它神奇地补偿了所有内容,即时区偏移和dst(如果我正确阅读了文档)。我正在将db移动到以UTC作为系统时间的新服务器。简单地减去-1H是行不通的,因为夏令时是+2。有什么聪明的方法可以做到这一点吗?(使用sql或一些脚本语言) 最佳答案 首先,您需要确保填充了mysql.time_zone_name表。如果它是空的,您可以按照此页面上的说明进行填充:

Mysql:将数据库从本地时间转换为UTC

我需要从本地时间utUTC转换现有的(日期时间字段)数据库。这些值存储在具有CET(+1)时区(夏令时+2)的服务器上的广告日期时间。选择数据时,我使用UNIX_TIMESTAMP(),它神奇地补偿了所有内容,即时区偏移和dst(如果我正确阅读了文档)。我正在将db移动到以UTC作为系统时间的新服务器。简单地减去-1H是行不通的,因为夏令时是+2。有什么聪明的方法可以做到这一点吗?(使用sql或一些脚本语言) 最佳答案 首先,您需要确保填充了mysql.time_zone_name表。如果它是空的,您可以按照此页面上的说明进行填充:

mysql - 将 MySQL 数据库时区设置为 GMT

我需要更改单个数据库的时区,这可能吗?我知道我们可以在WHM中更改时区(我们正在使用来自hostgator的专用服务器),但是在服务器上运行的大量遗留软件中有很多+6小时的编码(即服务器时区是CST,我们想要GMT时间,所以以前的开发人员在代码中手动更改日期/时间-糟糕!)。我现在正在开发一个新软件,并希望在GMT中使用它,我知道我可以使用date_default_timezone_set('GMT')但这不会解决日期时间列设置为CURRENT_TIMESTAMP的MySQL插入,因为它会插入@CST时区。 最佳答案 不可以,无法更

mysql - 将 MySQL 数据库时区设置为 GMT

我需要更改单个数据库的时区,这可能吗?我知道我们可以在WHM中更改时区(我们正在使用来自hostgator的专用服务器),但是在服务器上运行的大量遗留软件中有很多+6小时的编码(即服务器时区是CST,我们想要GMT时间,所以以前的开发人员在代码中手动更改日期/时间-糟糕!)。我现在正在开发一个新软件,并希望在GMT中使用它,我知道我可以使用date_default_timezone_set('GMT')但这不会解决日期时间列设置为CURRENT_TIMESTAMP的MySQL插入,因为它会插入@CST时区。 最佳答案 不可以,无法更

java - 如果应用程序使用不同于 MySQL 的时区,则 Hibernate 保存/检索日期减去天数

我在MACHINE_A上的tomcat上启动了一个应用程序,时区为GMT+3。我使用在MACHINE_B上启动的远程MySQL服务器,时区为UTC。我们使用spring-data-jpa进行持久化。作为问题的一个例子,我将展示存储库:publicinterfaceMyRepositoryextendsJpaRepository{OptionalfindByDate(LocalDatelocalDate);}如果我为2018-09-06传递localDate,我会得到日期为2018-09-05(前一天)的实体在我看到的日志中:2018-09-0618:17:27.783TRACE1367

java - 如果应用程序使用不同于 MySQL 的时区,则 Hibernate 保存/检索日期减去天数

我在MACHINE_A上的tomcat上启动了一个应用程序,时区为GMT+3。我使用在MACHINE_B上启动的远程MySQL服务器,时区为UTC。我们使用spring-data-jpa进行持久化。作为问题的一个例子,我将展示存储库:publicinterfaceMyRepositoryextendsJpaRepository{OptionalfindByDate(LocalDatelocalDate);}如果我为2018-09-06传递localDate,我会得到日期为2018-09-05(前一天)的实体在我看到的日志中:2018-09-0618:17:27.783TRACE1367