¿Cómo elegir el tipo de fecha y hora de MySQL? ¡No lo uses indiscriminadamente!

Es inevitable crear escritores de bases de datos para usar la fecha y la hora. Para las bases de datos, hay una variedad de campos de fecha y hora para elegir, como la marca de tiempo y la fecha y hora, y usar int para almacenar la marca de tiempo de Unix.

No solo los principiantes, sino también los programadores experimentados siguen confundidos. ¿Qué tipo debo usar para almacenar la fecha y la hora?

Luego analizaremos sus características paso a paso, para que podamos elegir el tipo de campo adecuado para almacenar según nuestras propias necesidades (se comparan las ventajas y desventajas, y a los padres les gusta comparar a sus vecinos e hijos con ellos mismos)

fecha y hora 和 marca de tiempo

datetime se parece más a la combinación de la hora del calendario y la hora de su reloj, que se refiere a una hora específica.

La marca de tiempo es más adecuada para grabar el tiempo. Por ejemplo, mi tiempo en el distrito de Dongba es 2016-08-02 10:35:52, y tú estás en Japón (el tiempo en el distrito de Dongji es 2016-08-02 11:35:52), Estaba chateando contigo y la base de datos registró la hora. Después de sacarlo, la hora es 2016-08-02 10:35:52 para mí y 2016-08-02 11:35:52 para ti en Japón. Por lo tanto, no es necesario considerar los cálculos de la zona horaria.

El rango de tiempo es la marca de tiempo (1970-2038). Por supuesto, la fecha y hora (1000-9999) no puede registrar cuándo nació Liu Bei (161 años).

marca de tiempo 和 marca de tiempo UNIX

La pantalla es intuitiva, fácil de solucionar cuando hay un problema y es mucho mejor que muchos números int largos

Int se acumula desde 1970, pero el rango admitido de int es de 1901-12-13 a 2038-01-19 03:14:07. Si necesita un rango mayor, debe configurarlo en bigInt. Pero este tiempo no incluye milisegundos. Si necesita milisegundos, debe definirlo como un número de punto flotante. La fecha y hora y la marca de tiempo son microsegundos nativos de 6 dígitos.

La marca de tiempo viene con su propia conversión de zona horaria, igual que el elemento 2 anterior.

El tiempo ingresado por la interfaz del usuario es generalmente el tipo de fecha, si almacena int, debe guardar antes y recuperar y luego procesar

para resumir

registros de marca de tiempo que cambian con frecuencia actualizaciones / creación / lanzamiento / tiempo de registro / tiempo de compra / tiempo de inicio de sesión / tiempo de registro, etc., y es el tiempo reciente, suficiente, y la zona horaria se procesa automáticamente, como compras en el extranjero o expansión comercial en el extranjero

datetime registra un tiempo fijo, como la ejecución del servidor, el tiempo de la tarea programada / el tiempo del programa de ejercicios, etc. En cualquier zona horaria, se requiere un tiempo fijo para hacer algo. Tiempo más allá de la marca de tiempo, si necesita zona horaria, debe recordar el procesamiento de la zona horaria

Las marcas de tiempo UNIX no son muy cómodas de usar En cuanto al rango de comparación, se pueden usar marcas de tiempo y fecha y hora.

Si no considera la zona horaria o no tiene su propio plan de zona horaria, siéntase libre de elegir cuál le gusta. Por supuesto, puede seguir la pila de tecnología Java de la cuenta oficial y responder m36 para obtener una copia de las regulaciones militares de desarrollo de MySQL.

Laravel es un marco de diseño internacional. Es comprensible que created_at updated_at use la marca de tiempo para la conveniencia de los programadores y se ajuste a los estándares de diseño de bases de datos.

¿Existe un tipo de tiempo que resuelva el problema del alcance y la zona horaria? Esto es imposible, ¿no hay un tinyInt BigInt? Tome lo que necesite y MySQL permite cambios en el campo de la base de datos.

Los cumpleaños se pueden almacenar en varios campos, como año / mes / día, para que pueda encontrar fácilmente a los usuarios que cumplen años en un día determinado ( User::where(\['month' => 8, 'day' => 12\])->get())

Al construir un proyecto, debe pensar detenidamente cuál es más adecuado para su escenario empresarial. ¿Cuál elegir? Depende de la demanda. Siga la pila de tecnología Java de número público y responda m36 para obtener una copia de las regulaciones militares de desarrollo de MySQL.

Dé la bienvenida a todos para agregar y corregir.

Autor: zhuzhichao

Enlace: https://learnku.com/laravel/t/2495/select-the-apropiado-mysql-date-time-type-to-store-your-time

Recomiendo leer más en mi blog:

1. Una serie de tutoriales sobre Java JVM, colecciones, subprocesos múltiples y nuevas funciones.

2. Serie de tutoriales Spring MVC, Spring Boot, Spring Cloud

3. Tutorial de herramientas de la serie Maven, Git, Eclipse, Intellij IDEA

4. Las últimas preguntas de la entrevista de los principales fabricantes, como Java, back-end, arquitectura y Alibaba.

¡Siéntete bien, no te olvides de dar me gusta + reenviar!

Finalmente, preste atención a la cuenta oficial de WeChat del líder de la pila: pila de tecnología Java, responda: Bienestar, puede obtener una copia gratuita de las últimas preguntas de la entrevista de Java que he compilado para 2020. Es realmente completo (incluidas las respuestas), sin ninguna rutina.

Supongo que te gusta

Origin blog.csdn.net/youanyyou/article/details/108460981
Recomendado
Clasificación