Dudas con formato Datetime

18/10/2006 - 08:31 por Ricardo M. | Informe spam
hola a todos, estoy desarrollando un aplicacion que mostrá duraciones entre
un evento y otro, promedio de los tiempos de duración, registrar el tiempo en
horas minutos y segundos cuando ocurre un evento. Por ahora no trabajaré con
fechas, solo horas minutos y segundos.

Utilizaré Sql para registrar estos tiempos (no trabajaré con fechas). Mis
dudas para empezar a trabajar en esto son:

-¿Con que metodo, tecnica y formato sería la mejor manera de trabajar
operaciones matematicas (restas, promedios, sumas) con esas horas minutos o
segundos? ejemplo: restar 09:25:03pm con 09:47:45pm
-¿como sería el formato en que se guardia en la base de datos para que
cuando lo extraiga pueda hacer esas operaciones matematicas¿?
-¿que tipo de dato utilizaría como campo en sql? datetime, timestamp, etc ?

Les agradezco la ayudita

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion [MVP]
18/10/2006 - 10:08 | Informe spam
"Ricardo M." wrote in message
news:
hola a todos, estoy desarrollando un aplicacion que mostrá duraciones
entre
un evento y otro, promedio de los tiempos de duración, registrar el tiempo
en
horas minutos y segundos cuando ocurre un evento. Por ahora no trabajaré
con
fechas, solo horas minutos y segundos.

Utilizaré Sql para registrar estos tiempos (no trabajaré con fechas). Mis
dudas para empezar a trabajar en esto son:

-¿Con que metodo, tecnica y formato sería la mejor manera de trabajar
operaciones matematicas (restas, promedios, sumas) con esas horas minutos
o
segundos? ejemplo: restar 09:25:03pm con 09:47:45pm
-¿como sería el formato en que se guardia en la base de datos para que
cuando lo extraiga pueda hacer esas operaciones matematicas¿?
-¿que tipo de dato utilizaría como campo en sql? datetime, timestamp, etc
?




Tal como lo describes, parece que lo más simple sería trabajar con datos
de tipo Integer que representen duraciones medidas en segundos. En la base
de datos los metes en un INT. En memoria trabajas con un int. Sumarlas,
restarlas o promediarlas es trivial trabajando con ints. Y la única
dificultad estriba en la visualización, en que el número de segundos tienes
que convertirlo en horas, minutos y segundos, pero puedes escribir una
pequeña rutina que lo haga y que solo requiere ser llamada cuando visualizas
los datos; todo el resto del tiempo los manejas como un simple número, que
es mucho más sencillo.
Respuesta Responder a este mensaje
#2 Bela Istok
18/10/2006 - 20:06 | Informe spam
Hola la mejor manera de hacerlo en .net es trabajando con los TimeSpan, ya
que los mismos representan una instancia de tiempo, y te permiten mostrarlo
en el formato que estas hablando, la mejor manera de guardarlos en base de
datos es como DateTime, ya que eso te va a permitir trabajar tanto con
horas, minutos, segundos, etc, y días (en el caso que lo necesites), y
cuando los obtienes de base de datos, simplemente restas las 2 fechas y
estas te regresan el TimeSpan.

Ejemplo 1 usando solo TimeSpan:
// Repesenta las 9:10:30 am
TimeSpan time1 = new TimeSpan(9, 10, 30);
// Lo mostramos en la consola
Console.WriteLine(time1.ToString());
// Representa las 10:05:30 am
TimeSpan time2 = new TimeSpan(10, 5, 25);
// Lo mostramos en la consola
Console.WriteLine(time2.ToString());
// Lo restamos
TimeSpan resta = time2 - time1;
//Cuanto tiempo duro?
Console.WriteLine(resta);
//Leemos la consola para que el programa no se cierre.
Console.Read();
//Resultado:
09:10:30
10:05:25
00:54:55
Ejemplo 2 Usando Fechas:
//Representa el 18/10/2006 06:05:30 am
DateTime fecha1 = new DateTime(2006, 10, 18, 6, 5, 30);
// Lo mostramos en la consola
Console.WriteLine(fecha1.ToString());
//Representa el 19/10/2006 12:05:30 pm
DateTime fecha2 = new DateTime(2006, 10, 19, 12, 5, 30);
// Lo mostramos en la consola
Console.WriteLine(fecha2.ToString());
// Lo restamos
TimeSpan resta2 = fecha2 - fecha1;
//Cuanto tiempo duro?
Console.WriteLine(resta2);
//Leemos la consola para que el programa no se cierre.
Console.Read();
//Resultado:
10/18/2006 6:05:30 AM
10/19/2006 12:05:30 PM
1.06:00:00

Saludos,

Bela Istok
"Ricardo M." wrote in message
news:
hola a todos, estoy desarrollando un aplicacion que mostrá duraciones
entre
un evento y otro, promedio de los tiempos de duración, registrar el tiempo
en
horas minutos y segundos cuando ocurre un evento. Por ahora no trabajaré
con
fechas, solo horas minutos y segundos.

Utilizaré Sql para registrar estos tiempos (no trabajaré con fechas). Mis
dudas para empezar a trabajar en esto son:

-¿Con que metodo, tecnica y formato sería la mejor manera de trabajar
operaciones matematicas (restas, promedios, sumas) con esas horas minutos
o
segundos? ejemplo: restar 09:25:03pm con 09:47:45pm
-¿como sería el formato en que se guardia en la base de datos para que
cuando lo extraiga pueda hacer esas operaciones matematicas¿?
-¿que tipo de dato utilizaría como campo en sql? datetime, timestamp, etc
?

Les agradezco la ayudita
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida