MySQL数据库问题
查询数据库时间
- select sysdate();
- select now();
- select current_date;
连接url需指定serverTimezone
1 | jdbc:mysql://{host}:{port}/{database}? |
服务器时间
- 进入linux:输入date查看服务器时间
使用timedatectl命令
timedatectl对于RHEL / CentOS 7和基于Fedora 21+的分布式系统来说,是一个新工具,它作为systemd系统和服务管理器的一部分,代替旧的传统的用在基于Linux分布式系统的sysvinit守护进程的date命令。
1
2
3
4
5
6使用timedatectl命令
# timedatectl list-timezones |grep Shanghai #查找上海的完整名称
Asia/Shanghai
# timedatectl set-timezone Asia/Shanghai #其他时区以此类推
或者直接手动创建软链接
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
docker容器时间
进入docker命令:
1 | docker exec -it {容器名或容器id} /bin/bash |
查看时间命令:date
复制相应的时区文件,替换系统时区文件;
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
有的容器基础镜像是有这个文件的,直接拷贝就可以,如果不能拷贝,则是因为创建镜像时依赖的基础镜像 运行的容器没有这两个文件,使用下面的办法
创建文件夹
mkdir -p /usr/share/zoneinfo/Asia
回到宿主机,复制宿主机里的文件到容器中
docker cp /usr/share/zoneinfo/Asia/Shanghai 容器ID或容器名:/usr/share/zoneinfo/Asia
3.进入容器执行命令 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
tomcat容器时区问题
描述:java的war包部署在Linux上的tomcat容器中相差8小时
解决:在tomcat的bin目录下找到catalina.sh文件在JAVA_OPTS追加添加如下配置
1 | 'Asia/Shanghai' = |