Snippets ( Time & Date )
30 Day Trial
Author: MSLx Fanboy
; 30 Day Trial
#include <Date.au3>
#include <String.au3>
If RegRead("HKCU\Software\Microsoft\Windows\Current Version", "XPClean Menu") = "" Then
RegWrite("HKCU\Software\Microsoft\Windows\Current Version", "XPClean Menu", "REG_SZ", _StringEncrypt(1, _NowCalc(), @ComputerName))
SetError(0)
EndIf
$startdate = _StringEncrypt(0, RegRead("HKCU\Software\Microsoft\Windows\Current Version", "XPClean Menu"), @ComputerName)
If _DateDiff("D", $startdate, _NowCalc()) > 30 Then
MsgBox(0, "*XPClean Menu*", "Your registration period has expired.")
Exit
EndIf
_ChangeTime
Author: guinness
_ChangeTime(@HOUR, @MIN)
Func _ChangeTime($iHour, $iMin)
Local $sTime = $iHour & RegRead("HKEY_CURRENT_USER\Control Panel\International", "sTime") & $iMin
RunWait(@ComSpec & " /c Time " & $sTime, "", @SW_HIDE)
Return $sTime
EndFunc ;==>_ChangeTime
_ChangeDate
Author: guinness
#include <Date.au3>
_ChangeDate(@YEAR, @MON , @MDAY)
Func _ChangeDate($iYear, $iMon, $iDay)
Local $sDate = _DateTimeFormat($iDay & "/" & $iMon & "/" & $iYear, 2)
RunWait(@ComSpec & " /c Date " & $sDate, "", @SW_HIDE)
Return $sDate
EndFunc ;==>_ChangeDate
Check File Date To Current Date
Author: Jos
; Check File Date To Current Date
#include<date.au3>
$n_tFile = "your file name"
$n_Fdate = FileGetTime($n_tFile,1)
$sdate=$n_Fdate[0] & "/" & $n_Fdate[1] & "/" & $n_Fdate[2] & " " & $n_Fdate[3] & ":" & $n_Fdate[4] & ":" & $n_Fdate[5]
$edate=_NowCalc()
If _DateDiff ('d',$sdate,$eDate) > 5 then
;
EndIf
_CheckIdle
Author: GaryFrost
; User/System Idle Time
#include <Date.au3>
HotKeySet("{Esc}", "_Terminate")
Local $last_active = 0, $iHours, $iMins, $iSecs
Local $not_idle = _CheckIdle($last_active, 1)
while (1)
Sleep(200)
$not_idle = _CheckIdle($last_active)
_TicksToTime($not_idle, $iHours, $iMins, $iSecs)
If $iHours Or $iMins Or $iSecs Then
ConsoleWrite("Was Idle for: Hours: " & $iHours & " Minutes: " & $iMins & " Seconds: " & $iSecs & @LF)
EndIf
WEnd
Func _CheckIdle(ByRef $last_active, $start = 0)
Local $struct = DllStructCreate("uint;dword");
DllStructSetData($struct, 1, DllStructGetSize($struct));
If $start Then
DllCall("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr($struct))
$last_active = DllStructGetData($struct, 2)
Return $last_active
Else
DllCall("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr($struct))
If $last_active <> DllStructGetData($struct, 2) Then
Local $save = $last_active
$last_active = DllStructGetData($struct, 2)
Return $last_active - $save
EndIf
EndIf
EndFunc ;==>_CheckIdle()
Func _Terminate()
Exit
EndFunc ;==>_Terminate
_CopyrightYear
Author: guinness
ConsoleWrite(Chr(169) & " " & _CopyrightYear("2010") & @LF) ; Pass a String of 2010. This is the year the software was created.
ConsoleWrite(_CopyrightYear(2010) & @LF) ; Pass a Number of 2010.
ConsoleWrite(_CopyrightYear(2012) & @LF) ; Pass a Number of 2012.
Func _CopyrightYear($iStartYear, $sDelimeter = "-") ; Return a String representation.
If Number($iStartYear) <> @YEAR Then
Return String($iStartYear & " " & $sDelimeter & " " & @YEAR)
EndIf
Return String($iStartYear)
EndFunc ;==>_CopyrightYear
_GetQuarterlyValue
Author: guinness
ConsoleWrite('The current quarterly value is: ' & _GetQuarterlyValue() & @CRLF)
; Get the current quarter of the year (1–4).
Func _GetQuarterlyValue()
Local $oWMIService = ObjGet('winmgmts:\\.\root\CIMV2'), $sReturn = ''
Local $oColItems = $oWMIService.ExecQuery('Select Quarter From Win32_UTCTime', 'WQL')
If IsObj($oColItems) Then
For $oItem In $oColItems
Return $oItem.Quarter
Next
EndIf
EndFunc ;==>_GetQuarterlyValue
Run A Timed Program Daily
Author: Valuater
; Run a timed program daily
; #NoTrayIcon ; for testing
Global $Minutes = 30
Global $Title = "My Window Title"
; settings
Global $Show_Clock = 1 ; 0 = no show
Global $Clock_Title = $Minutes & " Minute Time Machine"
If WinExists($Clock_Title) Then Exit
AutoItWinSetTitle($Clock_Title)
; ***** for testing only ******
HotKeySet("{F9}", "Runner")
Func Runner()
Run("notepad.exe")
EndFunc ;==>Runner
$Minutes = 3 ; for testing
$Title = "Untitled" ; for testing
; *****************************
While 1
If WinExists($Title) Then Clockit()
Sleep(100)
WEnd
Func Clockit()
Local $log = @WindowsDir & "\temp\"
Local $log_file = $log & @YDAY & ".pak"
If Not FileExists($log_file) Then
FileDelete($log & "*.pak")
FileWriteLine($log_file, $Minutes)
EndIf
Local $M_Minutes = FileReadLine($log_file, 1)
Local $begin = TimerInit(), $60Count = 0
If $M_Minutes <= 0 Then
WinClose($Title)
MsgBox(64, $Clock_Title, "Time-Up!! ...Your daily time usage has passed. ", 5)
Return
EndIf
While $M_Minutes > 0 And WinExists($Title)
$dif = TimerDiff($begin)
$Count = Int($dif / 1000)
If $Count >= 60 Then
$60Count += 1
$M_Minutes -= 1
$begin = TimerInit()
EndIf
If $Show_Clock Then ToolTip("Minutes Remaining = " & $M_Minutes & @CRLF & "Minutes Past = " & $60Count & @CRLF & "Seconds Count = " & $Count, 20, 20, $Clock_Title, 1)
Sleep(100)
WEnd
ToolTip("")
FileDelete($log_file)
Sleep(300)
If $Count >= 20 And $M_Minutes > 0 Then $M_Minutes -= 1
FileWriteLine($log_file, $M_Minutes)
EndFunc ;==>Clockit
_Time
Author: GEOSoft
ConsoleWrite("The Time Is " & _Time() & @CRLF)
Func _Time($iSec = 0, $tFormat = 12)
Local $fKey = "HKCU\Control Panel\International", $ap = RegRead($fKey, "s1159")
Local $pStr = RegRead($fKey, "s2359"), $tSep = RegRead($fKey, "sTime"), $sStr = ""
Local $hour = @HOUR
If $tFormat = 12 Then
If $hour = 0 Then $hour = 12
If @HOUR >= 12 Then
$hour = @HOUR
If $hour > 12 Then $hour -= 12
$ap = $pStr
EndIf
Else
$ap = ""
$hour = StringFormat("%02u", $hour)
EndIf
If $iSec <> 0 Then $sStr = $tSep & @SEC
If $ap <> "" Then $ap = Chr(32) & $ap
Return $hour & $tSep & @MIN & $sStr & $ap
EndFunc ;==>_Time
_Time
Author: SmOke_N
ConsoleWrite(_Time() & @CRLF)
Func _Time()
Local $AMPM, $hour
If @HOUR > 12 Then
$hour = @HOUR - 12
$AMPM = "PM"
ElseIf @HOUR = 0 Then
$hour = 12
$AMPM = "AM"
Else
$hour = @HOUR
$AMPM = "AM"
EndIf
Return $hour & ":" & @MIN & $AMPM
EndFunc ;==>_Time
_Time
Author: Valuater
MsgBox(0, "What is the time?", _Time())
Func _Time()
Local $hour = @HOUR, $AMPM = "AM"
If $hour > 11 Then $AMPM = "PM"
If $hour = 0 Then $hour = 12
If $hour > 12 Then $hour -= 12
Return $hour & ":" & @MIN & " " & $AMPM
EndFunc ;==>_Time
Timer To "Thousandths" Of A Second
Author: Holger
; Timer To "Thousandths" Of A Second
While 1
ToolTip(@Hour & ':' & @Min & ':' & @Sec & ':' & _MSec())
Sleep(1)
WEnd
Exit
Func _MSec()
Local $stSystemTime = DllStructCreate('ushort;ushort;ushort;ushort;ushort;ushort;ushort;ushort')
DllCall('kernel32.dll', 'none', 'GetSystemTime', 'ptr', DllStructGetPtr($stSystemTime))
Local $sMilliSeconds = StringFormat('%03d', DllStructGetData($stSystemTime, 8))
$stSystemTime = 0
Return $sMilliSeconds
EndFunc
_TimeFormatLocal
Author: GEOSoft
; Return a time string using the local settings format.
MsgBox(4096, "", _TimeFormatLocal(@HOUR & @MIN & @SEC))
MsgBox(4096, "", _TimeFormatLocal(@HOUR & "h" & @MIN & ":" & @SEC))
Func _TimeFormatLocal($sTime);; Use Local time format settings
Local $sFormat = RegRead("HKCU\Control Panel\International", "sTimeFormat")
If @error Then
$sFormat = "h:mm:ss tt"
EndIf
Local $aFormat = StringRegExp($sFormat, "\w*(.)\w*(.).*", 3)
If @error Then
SetError(1, 0, 0)
EndIf
Return StringRegExpReplace($sTime, "(\d{2}).?(\d{2}).?(\d{2})", "\1" & $aFormat[0] & "\2" & $aFormat[1] & "\3")
EndFunc ;==>_TimeFormatLocal
Time Machine #1
Author: Valuater
;Time Machine #1
;Minutes/seconds/miliseconds
$Minutes = 90 ; will wait 90 minutes
Local $60Count = 0, $begin = TimerInit()
While $Minutes > $60Count
$dif = TimerDiff($begin)
$dif2 = StringLeft($dif, StringInStr($dif, ".") -1)
$Count = int($dif/1000)
$60Count = Int($Count / 60)
ToolTip("Minutes Required = " & $Minutes & @CRLF & "Minutes Past = " & $60Count & @CRLF & "Seconds Count = " & $Count & @CRLF & "Mili-Seconds Count = " & $dif2, 20, 20, "Time Machine #1", 1)
Sleep(20)
WEnd
MsgBox(64, "Time-Up!!", "Your " & $Minutes & " minutes have passed ")
Time Machine #2
Author: Valuater
; Time Machine #2
; Hours & Minutes
$start = @HOUR & ":" & @MIN + 2 ; for testing
While 1
$start2 = @HOUR & ":" & @MIN
If $start = $start2 Then
Run("notepad.exe")
ExitLoop
EndIf
ToolTip("Start Time = " & $start & @CRLF & "Real Time = " & $start2, 20, 20, "Time Machine", 1)
Sleep(2000)
WEnd
Exit
Time Machine #3
Author: Valuater
; Time Machine #3
; Day & Hour
$start = @MDAY & "/" & @HOUR + 1 ; for testing
While 1
$start2 = @MDAY & "/" & @HOUR
If $start = $start2 Then
Run("notepad.exe")
Exit
EndIf
ToolTip("Start Time = " & $start & @CRLF & "Real Time = " & $start2, 120, 120, "Time Machine", 1)
Sleep(2000)
WEnd
Exit
_GetTodaysDate
Author: guinness
ConsoleWrite(_GetTodaysDate() & @CRLF) ; Return the date and the time.
ConsoleWrite(_GetTodaysDate(0) & @CRLF) ; Return the date only.
Func _GetTodaysDate($iReturnTime = 1)
Local $aMDay[8] = [7, "Sun", "Mon", "Tue", "Wed", "Thur", "Fri", "Sat"], _
$aMonth[13] = [12, "Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec"], $aTime[2] = ["", ' ' & @HOUR & ':' & @MIN & ':' & '00']
Return $aMDay[@WDAY] & ', ' & @MDAY & ' ' & $aMonth[@MON] & ' ' & @YEAR & $aTime[$iReturnTime]
EndFunc ;==>_GetTodaysDate