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.
Observación: Para mostrar el resultado de esta función en un 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:15Diff 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:15Diff 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 DateTimeDifferenceDiff 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 DateTimeDifferenceDiff 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:
  • DDDDDD es el número de días transcurridos entre las dos "Fecha - Time" 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 de duración, debes usar StringToDuration asociada a la constante durationCenti.
<Start date/time>: Character string or DateTime variable
Fecha/hora de inicio en el siguiente formato:
  • YYYYYMMDDHHMMSSCC
  • AAAAMMDDHHMMSS
  • AAAAMMDDHHMM
  • YYYYYMMDDDHHH
<End date/time>: Character string or DateTime variable
Finalice la fecha/hora en el siguiente formato:
  • YYYYYMMDDHHMMSSCC
  • AAAAMMDDHHMMSS
  • AAAAMMDDHHMM
  • 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.. Se considera que una "Fecha - Hora" no es válida si:
  • La fecha no es válida. DateValid puede verificar la validez de fecha.
  • La hora no es válida. TimeValid puede verificar la validez de tiempo.
Esta función no puede ser usada para calcular el número de días entre las fechas anteriores al 14 de octubre de 1582 (el cambio del Julián Calendar al Gregoriano Calendar no será tenido en cuenta).
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 : wd250std.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