cas6678 Active Member Licensed User Longtime User Aug 25, 2015 #1 Hola, a ver si me podeis ayudar con esto, si pongo... Code: Copy ahora=DateTime.Now crono=ahora-ahora Code: Copy Labelhora.Text= ahora Labelcrono.Text= crono ...me devuelve la hora actual en milisegundos desde 01/01/70 y 0 Sin embargo, si pongo... Code: Copy Labelcrono.Text= DateTime.Time(ahora) Labelcrono.Text= DateTime.Time(crono) ...me devuelve la hora actual en formato hh:mm:ss y 01:00:00 Yo esperaba recibir 00:00:00 No entiendo porque el 0 se asimila a la hora "1" Realmente no hago crono=ahora-ahora (no tendria mucho sentido) si no crono=ahora-datox para poner a 0 un cronometro pero para el caso el ejemplo es el mismo. Alguna idea? hago algo mal? Gracias.
Hola, a ver si me podeis ayudar con esto, si pongo... Code: Copy ahora=DateTime.Now crono=ahora-ahora Code: Copy Labelhora.Text= ahora Labelcrono.Text= crono ...me devuelve la hora actual en milisegundos desde 01/01/70 y 0 Sin embargo, si pongo... Code: Copy Labelcrono.Text= DateTime.Time(ahora) Labelcrono.Text= DateTime.Time(crono) ...me devuelve la hora actual en formato hh:mm:ss y 01:00:00 Yo esperaba recibir 00:00:00 No entiendo porque el 0 se asimila a la hora "1" Realmente no hago crono=ahora-ahora (no tendria mucho sentido) si no crono=ahora-datox para poner a 0 un cronometro pero para el caso el ejemplo es el mismo. Alguna idea? hago algo mal? Gracias.
bgsoft Well-Known Member Licensed User Longtime User Sep 10, 2015 #2 Hola Estuve fuera y de nuevo me subo aqui. Creo que lo que quieres hacer es un cronometro, como tu dices, la hora te la da en milisegundos desde 1970, si lo que quieres es ver como aumenta ese cronometro, tendrias que hacer algo asi: Code: Copy InicioCrono = DateTime.Now ' ponerlo cuando reinicies el cronómetro TiempoTranscurrido = DateTime.Now- InicioCrono ' dale el formato que quieras a TiempoTranscurrido Saludos
Hola Estuve fuera y de nuevo me subo aqui. Creo que lo que quieres hacer es un cronometro, como tu dices, la hora te la da en milisegundos desde 1970, si lo que quieres es ver como aumenta ese cronometro, tendrias que hacer algo asi: Code: Copy InicioCrono = DateTime.Now ' ponerlo cuando reinicies el cronómetro TiempoTranscurrido = DateTime.Now- InicioCrono ' dale el formato que quieras a TiempoTranscurrido Saludos
cas6678 Active Member Licensed User Longtime User Sep 12, 2015 #3 Hola Jesus, Si, es un cronometro pero no tengo problemas con hacerlo sino con el formato de salida. Por ejemplo si hago lo que tu me dices y muestro: Code: Copy label.Text=TiempoTransacurrido ....me muestra un contador en milisegundos desde 0, ok. pero si muestro Code: Copy label.Text=DateTime.Time(Tiempotranscurrido) ...me muestra un contador en formato horario desde 01:00:00, mal (aunque la variable TiempoTranscurrido empiece desde 0) Yo lo que busco es que el 0 sea 00:00:00 como no podria ser de otra manera De hecho estoy haciendo de momento una pequeña trampa que es quitarle los 3600000 milisegundos que tiene una hora: Code: Copy label.Text=DateTime.Time(Tiempotranscurrido-3600000) Pero bueno, me gustaria saber donde esta el problema. Gracias por tu colaboracion.
Hola Jesus, Si, es un cronometro pero no tengo problemas con hacerlo sino con el formato de salida. Por ejemplo si hago lo que tu me dices y muestro: Code: Copy label.Text=TiempoTransacurrido ....me muestra un contador en milisegundos desde 0, ok. pero si muestro Code: Copy label.Text=DateTime.Time(Tiempotranscurrido) ...me muestra un contador en formato horario desde 01:00:00, mal (aunque la variable TiempoTranscurrido empiece desde 0) Yo lo que busco es que el 0 sea 00:00:00 como no podria ser de otra manera De hecho estoy haciendo de momento una pequeña trampa que es quitarle los 3600000 milisegundos que tiene una hora: Code: Copy label.Text=DateTime.Time(Tiempotranscurrido-3600000) Pero bueno, me gustaria saber donde esta el problema. Gracias por tu colaboracion.
bgsoft Well-Known Member Licensed User Longtime User Sep 14, 2015 #4 Hola No es un problema de la fecha, si no de formato, puedes hacer esto: Code: Copy label.Text =NumberFormat(DateTime.GetHour(Tiempotranscurrido),2,0) & ":" & NumberFormat(DateTime.GetMinute(Tiempotranscurrido),2,0) & ":" & NumberFormat(DateTime.GetSecond(Tiempotranscurrido),2,0) Saludos
Hola No es un problema de la fecha, si no de formato, puedes hacer esto: Code: Copy label.Text =NumberFormat(DateTime.GetHour(Tiempotranscurrido),2,0) & ":" & NumberFormat(DateTime.GetMinute(Tiempotranscurrido),2,0) & ":" & NumberFormat(DateTime.GetSecond(Tiempotranscurrido),2,0) Saludos
bgsoft Well-Known Member Licensed User Longtime User Oct 1, 2015 #5 Hola Ya que la pregunta quedó resuelta, podrias poner en la cabecera [SOLUCIONADO], asi hacemos mas agil el foro, gracias. Saludos
Hola Ya que la pregunta quedó resuelta, podrias poner en la cabecera [SOLUCIONADO], asi hacemos mas agil el foro, gracias. Saludos
cas6678 Active Member Licensed User Longtime User Oct 1, 2015 #6 No te creas, jejj. Si que hay solucion practica al tema pero sigo sin entender por que cuando el valor de una variable (que yo uso para el tiempo) es 0, la presentacion que hace DateTime.time es 01:00:00 y no 00:00:00. Vale que es una cuestion de formato y que tu solucion es operativa, (tambien lo era la mia al restarle 3600000 milisegundos) pero sigo sin encontrar que es lo no alcanzo a ver aun. Lo dejo un par de dias y luego corrijo el titulo, gracias.
No te creas, jejj. Si que hay solucion practica al tema pero sigo sin entender por que cuando el valor de una variable (que yo uso para el tiempo) es 0, la presentacion que hace DateTime.time es 01:00:00 y no 00:00:00. Vale que es una cuestion de formato y que tu solucion es operativa, (tambien lo era la mia al restarle 3600000 milisegundos) pero sigo sin encontrar que es lo no alcanzo a ver aun. Lo dejo un par de dias y luego corrijo el titulo, gracias.
bgsoft Well-Known Member Licensed User Longtime User Oct 6, 2015 #7 Hola cas6678 Tu buscabas una solucion a tu problema y se resolvió, otra cosa es que ahora busques el por que de las cosas "raras" . El DateTime.Time funciona como es, y en el intervienen mas factores que el que le pases un valor que vale 0 y quieras que te devuelva 0, ya que los milisegundos que tienes que pasarle es desde el 01-01-1970, asi que si quieres que funcione como tu quieres, antes pon la zona horaria a 0, y entonces DateTime.Time te devolverá 00:00:00 Code: Copy Tiempotranscurrido = 0 DateTime.SetTimeZone(0) Log(DateTime.Time(Tiempotranscurrido)) ' te devolverá 00:00:00 Espero que con esto se hayan resuelto tus dudas, si no, me lo dices y yo te las amplio (es broma) Saludos
Hola cas6678 Tu buscabas una solucion a tu problema y se resolvió, otra cosa es que ahora busques el por que de las cosas "raras" . El DateTime.Time funciona como es, y en el intervienen mas factores que el que le pases un valor que vale 0 y quieras que te devuelva 0, ya que los milisegundos que tienes que pasarle es desde el 01-01-1970, asi que si quieres que funcione como tu quieres, antes pon la zona horaria a 0, y entonces DateTime.Time te devolverá 00:00:00 Code: Copy Tiempotranscurrido = 0 DateTime.SetTimeZone(0) Log(DateTime.Time(Tiempotranscurrido)) ' te devolverá 00:00:00 Espero que con esto se hayan resuelto tus dudas, si no, me lo dices y yo te las amplio (es broma) Saludos
cas6678 Active Member Licensed User Longtime User Oct 7, 2015 #8 Ahora si que esta clara la razon. Muchas gracias.