如何在mysql中将时间转换为时区特定时间

时间:2015-12-26 07:07:23

标签: java mysql

我的数据库包含utc秒。我需要编写一个mysql查询,用于日间过滤,小时过滤和周末,工作日过滤。

2 个答案:

答案 0 :(得分:0)

请检查..

Date date = new Date(1451114203L);
            DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
            format.setTimeZone(TimeZone.getTimeZone("Asia/Calcutta"));
            String formatted = format.format(date);
            System.out.println(formatted);

使用MYSQL

SELECT from_unixtime(1451114203) ;
SELECT from_unixtime(1451114203, '%Y %D %M %h:%i:%s %a') ;

REF Convert Unix timestamp into human readable date using MySQL

答案 1 :(得分:0)

SELECT * FROM tablename FROM_UNIXTIME(UNIX_TIMESTAMP(CONVERT_TZ(FROM_UNIXTIME((1451114203)),' +05:30',' -07:00')),&#39 ;%W')='星期一'

这里' +05:30'是服务器时区和' -07:00'是用户时区。我正在转换为用户时区。它将导致用户特定时区的工作日名称。这可能是一个漫长而漫长的过程,我正在寻找更好的性能查询。

上面的查询只能使用utcseconds我不保证时间戳,我需要在时间戳上工作。