MySQL 时区

忘是亡心i 2023-06-28 08:45 109阅读 0赞
  1. 1.查看当前时间:
  2. mysql> select now();
  3. +---------------------+
  4. | now() |
  5. +---------------------+
  6. | 2020-01-08 03:20:05 |
  7. +---------------------+
  8. 2.查看时区
  9. mysql> show variables like '%zone%';
  10. +------------------+--------+
  11. | Variable_name | Value |
  12. +------------------+--------+
  13. | system_time_zone | UTC |
  14. | time_zone | SYSTEM |
  15. +------------------+--------+
  16. time_zone说明MySQL使用system的时区,system_time_zone说明system使用UTC时区
  17. 3.修改 time_zone
  18. 修改全局 time_zone
  19. mysql> set global time_zone = '+8:00';
  20. Query OK, 0 rows affected (0.00 sec)
  21. 修改当前会话 time_zone
  22. mysql> set time_zone = '+8:00';
  23. Query OK, 0 rows affected (0.00 sec)
  24. mysql> show variables like '%time_zone%';
  25. +------------------+--------+
  26. | Variable_name | Value |
  27. +------------------+--------+
  28. | system_time_zone | UTC |
  29. | time_zone | +08:00 |
  30. +------------------+--------+
  31. 2 rows in set (0.00 sec)
  32. 4.查看当前时间
  33. mysql> select now();
  34. +---------------------+
  35. | now() |
  36. +---------------------+
  37. | 2020-01-08 11:28:08 |
  38. +---------------------+
  39. 1 row in set (0.00 sec)
  40. 5. timestamp 类型与时区有关
  41. create table user_zone (
  42. id int(20) NOT NULL AUTO_INCREMENT,
  43. created_at datetime NOT NULL,
  44. birthday timestamp NOT NULL,
  45. PRIMARY KEY (`id`)
  46. )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
  47. mysql> select now();
  48. +---------------------+
  49. | now() |
  50. +---------------------+
  51. | 2020-01-08 11:35:57 |
  52. +---------------------+
  53. insert into user_zone(created_at, birthday) values(now(), now());
  54. mysql> select * from user_zone;
  55. +----+---------------------+---------------------+
  56. | id | created_at | birthday |
  57. +----+---------------------+---------------------+
  58. | 1 | 2020-01-08 11:36:42 | 2020-01-08 11:36:42 |
  59. +----+---------------------+---------------------+
  60. set time_zone = 'UTC';
  61. mysql> select now();
  62. +---------------------+
  63. | now() |
  64. +---------------------+
  65. | 2020-01-08 03:37:46 |
  66. +---------------------+
  67. mysql> select * from user_zone;
  68. +----+---------------------+---------------------+
  69. | id | created_at | birthday |
  70. +----+---------------------+---------------------+
  71. | 1 | 2020-01-08 11:36:42 | 2020-01-08 03:36:42 |
  72. +----+---------------------+---------------------+
  73. ## java 8 时间类 与 数据库映射
  74. @ToString
  75. @Setter
  76. @Entity
  77. @Table(name = "time_type")
  78. @NoArgsConstructor
  79. public class TimeType {
  80. private Long id;
  81. private Instant time;
  82. @Id
  83. @GeneratedValue(strategy = GenerationType.IDENTITY)
  84. public Long getId() {
  85. return id;
  86. }
  87. @Convert(converter = InstantPersistenceConverter.class)
  88. @Column(name = "time", columnDefinition = "DATETIME")
  89. public Instant getTime() {
  90. return time;
  91. }
  92. }
  93. import javax.persistence.AttributeConverter;
  94. import javax.persistence.Converter;
  95. import java.time.Instant;
  96. import java.util.Date;
  97. @Converter(autoApply = true)
  98. public class InstantPersistenceConverter implements AttributeConverter<Instant, Date> {
  99. @Override
  100. public Date convertToDatabaseColumn(Instant instant) {
  101. return java.util.Date.from(instant);
  102. }
  103. @Override
  104. public Instant convertToEntityAttribute(Date date) {
  105. return date.toInstant();
  106. }
  107. }
  108. mysql> show create table time_type;
  109. | time_type | CREATE TABLE `time_type` (
  110. `id` bigint(20) NOT NULL AUTO_INCREMENT,
  111. `time` datetime DEFAULT NULL,
  112. PRIMARY KEY (`id`)
  113. ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 |
  114. mysql> select * from time_type;
  115. +----+---------------------+
  116. | id | time |
  117. +----+---------------------+
  118. | 1 | 2020-01-08 18:56:41 |
  119. +----+---------------------+
  120. spring-data-jpa Jsr310JpaConverters 进行转化

发表评论

表情:
评论列表 (有 0 条评论,109人围观)

还没有评论,来说两句吧...

相关阅读