¿Cuál es la mejor forma de almacenar fecha y hora en MySQL?

Me gustaría almacenar la fecha y la hora en el siguiente formato en la base de datos

a) DD-MM-YYYY o podría sumr HH-MM b) ya que mis servidores están ubicados en los EE. UU. me gustaría buscar el tiempo según IST. ahora eso será GMT: +5: 30

antes solía almacenar la fecha en mysql en este formato timestamp (int (11)): 1291746600. solía convertir la fecha con strtotime (); actualmente mi intención de almacenar la fecha es solo almacenarla y mostrarla. en el futuro me gustaría calcular el no. de días, meses, etc.

cuál sería la mejor solución posible para esto?

P: S: agradecería que alguien me pudiera explicar qué tipo de datos usar y cómo usarlo con PHP.

Solutions Collecting From Web of "¿Cuál es la mejor forma de almacenar fecha y hora en MySQL?"

Use los campos DATETIME ! Son el mejor formato para almacenar fechas en mySQL. Ofrecen una indexación y una optimización adecuadas, y puede usar la gama completa de funciones de fecha de mySQL.

Cualquier formato específico en el que necesite mostrar los campos, puede crear desde un campo DATETIME con DATE_FORMAT() .

MySQL no admite zonas horarias en los campos DATETIME; generalmente establecerá un huso horario global en el servidor y lo usará.

Hay buena lectura relacionada en Timezones en estas preguntas:

  • MySQL: ¿mantiene la zona horaria del servidor o la zona horaria del usuario?
  • Perdido en fechas y zonas horarias

Use un campo de fecha y hora.

http://dev.mysql.com/doc/refman/5.1/en/datetime.html

Tendrás acceso a muchas funciones para la manipulación de fechas.

Si aún desea usar un varchar, use el formato ISO-TIME (AAAA-MM-DD) no us.

Creo que deberías usar el tipo de datos DATETIME . Para obtener más información sobre la fecha y la hora, consulte las funciones que se enumeran aquí http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html