PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE


Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
Calcula la diferencia entre dos fechas y horas.
Nota: Para visualizar el resultado de esta función en una variable de duración, utilice StringToDuration.
Versiones 16 y posteriores
Universal Windows 10 App Esta función ahora está disponible para aplicaciones Windows Phone.
Nueva funcionalidad versión 16
Universal Windows 10 App Esta función ahora está disponible para aplicaciones Windows Phone.
Universal Windows 10 App Esta función ahora está disponible para aplicaciones Windows Phone.
Versiones 17 y posteriores
iPhone/iPad Esta función ahora está disponible para aplicaciones iPhone/iPad.
Nueva funcionalidad versión 17
iPhone/iPad Esta función ahora está disponible para aplicaciones iPhone/iPad.
iPhone/iPad Esta función ahora está disponible para aplicaciones iPhone/iPad.
Versiones 18 y posteriores
Widget Android Esta función ahora está disponible en modo Android Widget.
Universal Windows 10 App Esta función ahora está disponible en modo Windows Store apps.
Nueva funcionalidad versión 18
Widget Android Esta función ahora está disponible en modo Android Widget.
Universal Windows 10 App Esta función ahora está disponible en modo Windows Store apps.
Widget Android Esta función ahora está disponible en modo Android Widget.
Universal Windows 10 App Esta función ahora está disponible en modo Windows Store apps.
Versiones 21 y posteriores
Universal Windows 10 App Esta función ahora está disponible en modo Universal Windows 10 App.
Nueva funcionalidad versión 21
Universal Windows 10 App Esta función ahora está disponible en modo Universal Windows 10 App.
Universal Windows 10 App Esta función ahora está disponible en modo Universal Windows 10 App.
Ejemplo
// Time passed since 01/01/1998 at 12:15
Diff is string
Diff = DateTimeDifference("199801011215", DateSys() + TimeSys())
// Display the time passed
Info("Time passed: " + CR + ...
Left(Diff, 8) + "days" + CR + ...
Middle(Diff, 9, 2) + "hours" + CR + ...
Middle(Diff, 11, 2) + "minutes" + CR + ...
Middle(Diff, 13, 2) + "seconds" + CR + ...
Middle(Diff, 15, 2) + "hundredths of a second")
// Time passed since 01/01/1998 at 12:15
Diff is string
Diff = DateTimeDifference("199801011215", SysDateTime())
// Display the time passed
Info("Time passed: " + CR + ...
Left(Diff, 8) + "days" + CR + ...
Middle(Diff, 9, 2) + "hours" + CR + ...
Middle(Diff, 11, 2) + "minutes" + CR + ...
Middle(Diff, 13, 2) + "seconds" + CR + ...
Middle(Diff, 15, 2) + "hundredths of a second")
// To fill a duration from the result of DateTimeDifference
Diff is string = DateTimeDifference("199801011215", DateSys() + TimeSys())
// convert the difference into a duration variable
Duration1 is Duration = StringToDuration(Diff, durationCenti)
 
// --------------------------------------------
// Other possible solution
// DateTime1 is DateTime = "199801011215"
// DateTime2 is DateTime = SysDate() + SysTime()
// Duration1 is Duration = DateTime2 - DateTime1
// ----------------------------------------------
 
// Display the time passed
Info("Time passed: " + Duration1..Day + "days" + CR + ...
Duration1..Hour + "hours" + CR + ...
Duration1..Minute + "minutes" + CR + ...
Duration1..Second + "seconds" + CR + ...
Duration1..Millisecond + "thousandths of a second")
// To fill a duration from the result of DateTimeDifference
Diff is string = DateTimeDifference("199801011215", SysDateTime())
// convert the difference into a duration variable
Duration1 is Duration = StringToDuration(Diff, durationCenti)
 
// --------------------------------------------
// Other possible solution
// DateTime1 is DateTime = "199801011215"
// DateTime2 is DateTime = DateTimeSys()
// Duration1 is Duration = DateTime2 - DateTime1
// ----------------------------------------------
 
// Display the time passed
Info("Time passed: " + Duration1..Day + "days" + CR + ...
Duration1..Hour + "hours" + CR + ...
Duration1..Minute + "minutes" + CR + ...
Duration1..Second + "seconds" + CR + ...
Duration1..Millisecond + "thousandths of a second")
Sintaxis
<Result> = DateTimeDifference(<Start date/time> , <End date/time>)
<Result>: Character string
Número de días, horas, minutos, segundos transcurridos entre dos fechas en formato +/-DDDDDDDHHHMMSSCC donde:
  • DDDDDDDD es el número de días transcurridos entre las dos "Fecha - Hora" especificadas,
  • HH es el número de horas,
  • MM es el número de minutos,
  • SS es el número de segundos,
  • CC es el número de centésimas de segundo.
Este resultado proviene de la siguiente operación: <Fecha/hora de finalización> - <Fecha/hora de inicio>.
El resultado es negativo si <Fecha/hora de inicio> es posterior a <Fecha/hora de finalización&gt.
Atención: Para asignar este resultado a una variable Duración, se debe utilizar StringToDuration asociada a la variable duraciónCenti constante.
<Start date/time>: Character string or DateTime variable
Fecha/hora de inicio en el siguiente formato:
  • YYYYYMMDDHHMMSSCC
  • AAAAMMDDHHMMSS
  • YYYYYMMDDDHHHHMM
  • YYYYYMMDDDHHH
<End date/time>: Character string or DateTime variable
Finalice la fecha/hora en el siguiente formato:
  • YYYYYMMDDHHMMSSCC
  • AAAAMMDDHHMMSS
  • YYYYYMMDDDHHHHMM
  • YYYYYMMDDDHHH
Observaciones
Se verifica la validez de las fechas y horas pasadas en el parámetro. Aparece un mensaje si la fecha u hora no es válida.. Una "Fecha - Hora" se considera inválida si:
  • La fecha no es válida. La validez de la fecha puede ser comprobada por DateValid.
  • La hora no es válida. La validez de tiempo puede ser comprobada medianteTimeValid
Esta función no se puede utilizar para calcular el número de días entre fechas anteriores al 14 de octubre de 1582 (no se tendrá en cuenta el cambio del calendario juliano al calendario gregoriano)..
El formato de almacenamiento le permite almacenar fechas del 01/01/0001 al 31/12/9999.
Los cálculos realizados en fechas por la Funciones WLanguage o por la Propiedades de WLanguage son exactos desde el 1 de enero de 1583..
Componente : wd240std.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Video DateTimeDifference
https://youtu.be/c-Ih6WpX4Ws

https://windevdesenvolvimento.blogspot.com/2019/05/dicas-2106-windev-webdev-mobile-data-29.html

// EDT_BTN_cALCULAR_DIAS

diferencia is string = DateTimeDifference(EDT_DATA_INICIAL_1, EDT_DATA_FINAL_1)
duracao is Duration=StringToDuration(diferencia, durationCenti)
EDT_dias_1=duracao..Day
amarildo
11 05 2019
Display the result of DateTimeDifference

DateTimeLOGIN = Table.MyLOGIN
DateTimeLOGOUT = Table.MyLOGOUT
MyDuration = DateTimeDifference(DateTimeLOGIN,DateTimeLOGOUT)+"0"
Table.MyDuration = MyDuration

Adding the "0" to the result of the calculation is necessary to get a correct display!

Guenter
29 05 2018
Example
// Time passed since 01/01/1998 at 12:15
sTDatahoraAgenda is string = Middle(StringToDate(EDT_DataAgendamento)+StringToTime(Middle(EDT_DataAgendamento,12,5)),1,12) //"199801011215"
Diff is string
Diff = DateTimeDifference(sTDatahoraAgenda, DateSys() + TimeSys())
//Display the time passed
//Info("Time passed: " + CR + ...
//Left(Diff, 8) + "days" + CR + ...
//Middle(Diff, 9, 2) + "hours" + CR + ...
//Middle(Diff, 11, 2) + "minutes" + CR + ...
//Middle(Diff, 13, 2) + "seconds" + CR + ...
//Middle(Diff, 15, 2) + "hundredths of a second")

//Valida data
nSMinutos is int = Val(Middle(Diff, 11, 2))
IF CBOX_Agendamento..Value = True AND Middle(Diff, 11, 2) < 30
Info("A data e hora agendada tem que ser maior do que 30 minutos")
ok1 = False
ELSE
ok1 = True
END
adrianoboller
27 11 2015