Foros del Web » Programando para Internet » PHP »

Calculos con fechas

Estas en el tema de Calculos con fechas en el foro de PHP en Foros del Web. De qué manera puedo restar fechas con php? Debería guardar los campos en la base de datos en formato datetime o como un entero (timestamp)? ...
  #1 (permalink)  
Antiguo 08/02/2006, 11:01
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 9 meses
Puntos: 0
Calculos con fechas

De qué manera puedo restar fechas con php?

Debería guardar los campos en la base de datos en formato datetime o como un entero (timestamp)?

La base de datos debe ser compatible con ms sql server.

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #2 (permalink)  
Antiguo 09/02/2006, 02:30
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
La forma más fácil es hacerlo directamente en la base de datos, no obstante si necesitas hacerlo por PHP hay varios métodos, dependiendo de los datos que necesites (días que han pasado, meses, años, horas, minutos, etc...)
  #3 (permalink)  
Antiguo 09/02/2006, 06:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si vas a trabajar con SQL Server .. usa los campos de fecha que este use (no sé si serán "DATETIME"´) .. entre otras cosas por qué al final requeriras de operar con fechas y el SQL de cualquier RDBMS dispone de funciones própias para trabajar con fechas. Así que no tendrás que meter "PHP" por médio. y .. "a malas" siempre puedes convertir una fecha dada que obtengas en fomato "DATETIME" a un "unix timestamp" para trabajarlo con funciones de fechas de PHP tipo date(), mktime() .. etc ...

Un saludo,
  #4 (permalink)  
Antiguo 09/02/2006, 08:36
Avatar de MarioNunes  
Fecha de Ingreso: agosto-2005
Mensajes: 280
Antigüedad: 18 años, 8 meses
Puntos: 1
Si no recuerdo mal puedes pedir la operación en la consulta sql que lanzas al MSSQL con Transact-SQL, puedes encontrar más información aquí:

http://msdn.microsoft.com/library/de...fa-fz_2c1f.asp

Un saludo.
__________________
www.pensandoenred.com
  #5 (permalink)  
Antiguo 09/02/2006, 16:08
 
Fecha de Ingreso: julio-2003
Ubicación: España
Mensajes: 723
Antigüedad: 20 años, 9 meses
Puntos: 0
Si, es la solución que se me había ocurrido pero la aplicación debe trabajar con distintos SGBD... esperemos que las consultas funcionen en ambos (MS SQL Server, MySQL y Access)

De todas maneras habría alguna manera de saber qué SGBD estoy usando para enviar una u otra consulta?

Saludos.
__________________
Solo nosotros podemos decidir qué hacer con el tiempo que se nos ha dado. (Gandalf)
  #6 (permalink)  
Antiguo 10/02/2006, 05:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por DjNelson
Si, es la solución que se me había ocurrido pero la aplicación debe trabajar con distintos SGBD... esperemos que las consultas funcionen en ambos (MS SQL Server, MySQL y Access)

De todas maneras habría alguna manera de saber qué SGBD estoy usando para enviar una u otra consulta?

Saludos.
Eso lo debe saber tu aplicación con antelación ... ya sea por qué tu tengas algún panel de configuración donde lo indicas o similar .. Pero no puedes esperar que "adivine" una aplicación que Motor de BBDD vas a usar .. Eso lo harás tu o quien instale la aplicación en el servidor que toque cuando lo haga.

Por cierto ... estás usando alguna "Capa de abstracción de BBDD"? .. tipo:

ADOdb, ezSQL o alguna similar?

ADOdb por ejemplo implementa un buen montón de métodos própios para solventar algunas "incompatibilidades" del SQL própio de algunos motores de BBDD; por ejemplo el tema de "paginación" .. en Mysql por ejemplo se usa LIMIT .. en SQL Server tiene un "TOP" pero parece que se gestiona el tema con "cursores" u otras técnicas .. Access no sé como lo hará (vía ODBC más encima). Bien .. este tipo de "capas" ya incorporan métodos donde tu simplemente dices "dame los resultados paginados" y según la BBDD que uses (y que por supuesto por otro lado le dices cual estás usando o vas a usar) ya se encarga de gestionar ese tema concreto con el SQL que necesite.

Tu mismo podrías (si no lo hace ya ADOdb o la classe que uses como "capa" .. que "creo" que algún manejo de fechas hace .. tendrías que revisarlo) crearte tus "extensiones" (funciones en definitiva) para trabajar este tema concreto de fechas.

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:57.