But is not work as X86
Code: Select all
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_MacOS
ImportC ""
CFAbsoluteTimeGetCurrent.d()
CFTimeZoneCopyDefault()
CFAbsoluteTimeGetGregorianDate.q(timeCurrent.d, *timeZone)
CFAbsoluteTimeGetGregorianDateSecond.d(timeCurrent.d, *timeZone) As "_CFAbsoluteTimeGetGregorianDate"
CFRelease(*a)
EndImport
Structure CFGregorianDateHelp
Year.l
Month.b
Day.b
Hour.b
Minute.b
EndStructure
Structure CFGregorianDate
StructureUnion
Date.q
Detail.CFGregorianDateHelp
EndStructureUnion
EndStructure
Procedure GetLocalDate(*Year.word, *Month.byte, *Day.byte, *Hour.byte, *Minute.byte, *Second.byte)
Protected timeCurrent.d, *timeZone
Protected LocalDateTime.CFGregorianDate, LocalSecond.d
timeCurrent = CFAbsoluteTimeGetCurrent()
*timeZone = CFTimeZoneCopyDefault()
LocalDateTime\Date = CFAbsoluteTimeGetGregorianDate(timeCurrent, *timeZone)
localsecond = CFAbsoluteTimeGetGregorianDateSecond(timeCurrent, *timeZone)
CFRelease(*timeZone)
With LocalDateTime\Detail
*Year\w = \Year
*Month\b = \Month
*Day\b = \Day
*Hour\b = \Hour
*Minute\b = \Minute
EndWith
*Second\b = Round(LocalSecond, #PB_Round_Down)
EndProcedure
CompilerCase #PB_OS_Linux
CompilerCase #PB_OS_Windows
CompilerEndSelect
Define.w year
Define.b month, day, hour, minute, second
GetLocalDate(@year, @month, @day, @hour, @minute, @second)
Debug "Year: " + Str(year)
Debug "Month: " + Str(month)
Debug "Day: " + Str(day)
Debug "Hour: " + Str(hour)
Debug "Minute: " + Str(minute)
Debug "Second: " + Str(second)