version 3
Current date {(*)} Date
| Parameter | Type | Description | |
| * | Returns the current date from the server | ||
| Function result | Date | Current date |
Description
The Current date command returns the current date as kept by the system clock.
4D Server: If you use the asterisk (*) parameter when executing this function on a 4D Client machine, it returns the current date from the server.
Examples
1. The following example displays an alert box containing the current date:
ALERT("The date is " + String(Current date)+".")
2. If you write an application for the international market, you may need to know if the version of 4D that you run works with dates formatted as MM/DD/YYYY (US version) or DD/MM/YYYY (French version). This is useful to know for customizing data entry fields.
The following project method allows you to do so:
` Sys date format global function
` Sys date format -> String
` Sys date format -> Default 4D data format
C_STRING(31;$0;$vsDate;$vsMDY;$vsMonth;$vsDay;$vsYear)
C_LONGINT($1;$vlPos)
C_DATE($vdDate)
` Get a Date value where the month, day and year values are all different
$vdDate:=Current date
Repeat
$vsMonth:=String(Month of($vdDate))
$vsDay:=String(Day of($vdDate))
$vsYear:=String(Year of($vdDate)%100)
If (($vsMonth=$vsDay) | ($vsMonth=$vsYear) | ($vsDay=$vsYear))
vOK:=0
$vdDate:=$vdDate+1
Else
vOK:=1
End if
Until (vOK=1)
$0:="" ` Initialize function result
$vsDate:=String($vdDate)
$vlPos:=Position("/";$vsDate) ` Find the first / separator in the string ../../..
$vsMDY:=Substring($vsDate;1;$vlPos-1) ` Extract the first digits from the date
$vsDate:=Substring($vsDate;$vlPos+1) ` Eliminate the first digits as well as the first / separator
Case of
: ($vsMDY=$vsMonth) ` The digits express the month
$0:="MM"
: ($vsMDY=$vsDay) ` The digits express the day
$0:="DD"
: ($vsMDY=$vsYear) ` The digits express the year
$0:="YYYY"
End case
$0:=$0+"/" ` Start building the function result
$vlPos:=Position("/";$vsDate) ` Find the second separator in the string ../..
$vsMDY:=Substring($vsDate;1;$vlPos-1) ` Extract the next digits from the date
$vsDate:=Substring($vsDate;$vlPos+1) ` Reduce the string to the last digits from the date
Case of
: ($vsMDY=$vsMonth) ` The digits express the month
$0:=$0+"MM"
: ($vsMDY=$vsDay) ` The digits express the day
$0:=$0+"DD"
: ($vsMDY=$vsYear) ` The digits express the year
$0:=$0+"YYYY"
End case
$0:=$0+"/" ` Pursue building the function result
Case of
: ($vsDate=$vsMonth) ` The digits express the month
$0:=$0+"MM"
: ($vsDate=$vsDay) ` The digits express the day
$0:=$0+"DD"
: ($vsDate=$vsYear) ` The digits express the year
$0:=$0+"YYYY"
End case
` At this point $0 is equal to MM/DD/YYYY or DD/MM/YYYY or...
See Also
Date Operators, Day of, Month of, Year of.