type seleccionar nacimiento insertar formulario formato fecha dar calendario actual aaaa php sql-server datetime time

php - seleccionar - insertar fecha en formulario html



¿Cuál es el formato preferido para almacenar fechas/horas en una base de datos SQL Server cuando PHP es su idioma principal? (3)

Almacenaba las fechas en el formato MS-SQL para ayudar a usar al máximo las funciones de manipulación de fechas en T-SQL. Es más fácil escribir y leer

SELECT * FROM Foo WHERE DateDiff(d,field1,now()) < 1

Que intentar y realizar la operación equivalente manipulando enteros

Para convertir una fecha MsSQL en una marca de tiempo Unix use dateDiff:

SELECT DATEDIFF(s,''1970-01-01 00:00:00'',fieldName) as fieldNameTS FROM TableName WHERE fieldName between ''10/1/2008'' and ''10/31/2008''

Para convertir una marca de tiempo Unix en una fecha MsSQL, puede hacerlo en PHP:

$msSQLDate = date("Y-m-d H:i:s", $unixDate );

o en MsSQL

INSERT INTO TableName ( fieldName ) VALUES ( DATEADD(s,''1970-01-01 00:00:00'', ? ) )

Donde el parámetro uno es int ($ unixDate)

Estoy planeando una aplicación PHP que necesita almacenar fecha / hora en una base de datos MSSQL. (Para los curiosos, es una aplicación de calendario.) ¿Cuál es el formato preferido para almacenar esta información?

MSSQL tiene su propio tipo de datos de fecha y hora, que funciona bien en la base de datos y es muy legible. Sin embargo, no hay ninguna función MSSQL para traducir los valores de fecha y hora al formato preferido de PHP: indicación de fecha y hora de UNIX. Esto hace que sea un poco más doloroso de usar con PHP. La marca de tiempo UNIX es atractiva porque eso es lo que le gusta a PHP, pero ciertamente no es tan fácil de leer y no hay muchas funciones integradas de MSSQL para trabajar con los datos.

¿Almacenaría esta información como tipo de datos de fecha y hora, como marcas de tiempo de UNIX (como int, bigint o varchar datatype), como ambos formatos uno al lado del otro, o como algo completamente diferente?


Yo recomendaría lo mismo que hago para todas las fechas en cualquier motor db, el tipo nativo db. (FECHA Y HORA)

Simplemente use "AAAA-MM-DD HH: MM: SS" para insertar en php: date(''Ymd H:i:s'', $myTimeStampInSeconds);

-edit en respuesta a los comentarios a continuación aquí -

  1. para las columnas seleccionadas, puede usar $timestamp = strtotime ( $yourColumnValue );
  2. Recomiendo almacenar en el formato nativo de databas porque puede usar SQL para comparar registros usando funciones SQL de fecha / hora como DATEADD (), etc.

Hola y buenos días para todos

Sí, podría ser que sea la mejor manera, almacene las fechas en db, tomarán el formato db y podrá formatear cuando lo necesite, como usted

Pero hay otra solución en el formato de fecha internacional desarrollado por ISO, me refiero a ISO 8601.

El formato internacional definido por ISO (ISO 8601) trata de resolver todos los problemas de fecha definiendo un sistema de fecha numérica de la siguiente manera: AAAA-MM-DD donde

YYYY es el año [todos los dígitos, es decir, 2100] MM es el mes [01 (enero) a 12 (diciembre)] DD es el día [01 a 31] dependiendo de polillas: P

Usar fechas numéricas también tiene algunos inconvenientes con respecto a la legibilidad y usabilidad, pero no es perfecto. Sin embargo, el formato de fecha ISO es, sin embargo, la mejor opción para una representación de fecha que sea universalmente (y precisa) comprensible.

Tenga en cuenta que este formato también se puede usar para representar la fecha y la hora precisas, con información de zona horaria

Aquí hay una información detallada sobre ISO 8601: 2000

http://www.iso.org/iso/support/faqs/faqs_widely_used_standards/widely_used_standards_other/date_and_time_format.htm

Sin más .... Adiós