Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Compute Difference Between Two DateTime StringsDemonstrates how to compute the difference between two datetime strings.
IncludeFile "CkStringBuilder.pb" IncludeFile "CkDateTime.pb" Procedure ChilkatExample() ; Imagine we have these strings: t1.s = "2022-11-14 15:45:38" t2.s = "2022-11-16 17:23:41" ; How many minutes are between the two? ; First, we'd want load each date/time into a Chilkat CkDateTime object. ; In this case, there are no CkDateTime methods that accept the above format. ; However.. the CkDateTime's SetFromTimestamp will accept a date in the format "YYYY-MM-DDThh:mm:ssZ" ; First modify the above dates to the timestamp format. sb1.i = CkStringBuilder::ckCreate() If sb1.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkStringBuilder::ckAppend(sb1,t1) count.i = CkStringBuilder::ckReplace(sb1," ","T") CkStringBuilder::ckAppend(sb1,"Z") sb2.i = CkStringBuilder::ckCreate() If sb2.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkStringBuilder::ckAppend(sb2,t2) count = CkStringBuilder::ckReplace(sb2," ","T") CkStringBuilder::ckAppend(sb2,"Z") ; Load each into a CkDateTime dt1.i = CkDateTime::ckCreate() If dt1.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkDateTime::ckSetFromTimestamp(dt1,CkStringBuilder::ckGetAsString(sb1)) ; verify... Debug CkDateTime::ckGetAsTimestamp(dt1,0) dt2.i = CkDateTime::ckCreate() If dt2.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkDateTime::ckSetFromTimestamp(dt2,CkStringBuilder::ckGetAsString(sb2)) ; verify... Debug CkDateTime::ckGetAsTimestamp(dt2,0) ; Get the difference in seconds diffSeconds.i = CkDateTime::ckDiffSeconds(dt2,dt1) Debug "Difference in seconds: " + Str(diffSeconds) Debug "Difference in minutes: " + Str(diffSeconds / 60) CkStringBuilder::ckDispose(sb1) CkStringBuilder::ckDispose(sb2) CkDateTime::ckDispose(dt1) CkDateTime::ckDispose(dt2) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.