Incorrect date/time pulled in Matlab MySQL query

4 次查看(过去 30 天)
I have a database on a remote server that is storing a mysql timestamp. This value is created from an epoch timestamp. When I run a query directly on the server through the command line it returns these fields as follows (mysql timestamp on the left / epoch timestamp on the right):
2020-09-07 17:02:14 | 1599498134 |
Note this result is from a simple query (select * from table where id = value)
When I run the same query through Matlab it returns:
'2020-09-07 11:02:14.0' | 1599498134 |
You will notice the hours have been shifted and there is now a '.0' added at the end. It seems to be auto-adjusting to local time for some reason (the epoch time is in GMT). The query is run through the 'DATA = select(connection, statement);' syntax. Any assistance on how to resolve this is appreciated.
I am using Matlab R2016b

采纳的回答

Manas Meena
Manas Meena 2021-2-8
You can either configure the MySQL server to the required timezone.
Also you can try out something like the following command to set driver parameters for timezone in MATLAB
>> conn = database('',<username>,<password>,'com.mysql.cj.jdbc.Driver','jdbc:mysql://servername:portnumber/databasename?serverTimezone=UTC&')
  1 个评论
Allan Brett
Allan Brett 2021-2-8
Thank you. The issue was a mismatch between the server timezone and how I had configured the connection.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Database Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by