Re: date question by Ken
Ken
Thu Jul 31 20:48:50 CDT 2003
Try these:
? CFOTM()
? CLOLM()
? CFOTM("day")
? CLOLM("day")
? CFOTM("day","2/23/1986")
? CLOLM("day","2/23/1986")
FUNCTION CFOTM()
LPARAMETERS returntype, seeddate
IF NOT EMPTY(returntype)
DO CASE
CASE TYPE("returntype") <> "C"
MESSAGEBOX("Data type mismatch.")
RETURN
CASE NOT UPPER(ALLTRIM(returntype)) == "DAY" AND ;
NOT UPPER(ALLTRIM(returntype)) == "DATE"
MESSAGEBOX("Invalid return type.")
RETURN
ENDCASE
ELSE
returntype = "DATE"
ENDIF
IF NOT EMPTY(seeddate)
DO CASE
CASE TYPE("seeddate") = "C"
seeddate = CTOD(seeddate)
CASE TYPE("seeddate") = "D"
OTHERWISE
MESSAGEBOX("Invalid parameter.")
RETURN
ENDCASE
ELSE
seeddate = DATE()
ENDIF
cFirstDate = TRANSFORM(MONTH(seeddate)) + "/1/" + ;
TRANSFORM(YEAR(seeddate))
IF UPPER(ALLTRIM(returntype)) == "DAY"
cFirstDate = CDOW(CTOD(cFirstDate))
ENDIF
RETURN cFirstDate
ENDFUNC
FUNCTION CLOLM()
LPARAMETERS returntype, seeddate
IF NOT EMPTY(returntype)
DO CASE
CASE TYPE("returntype") <> "C"
MESSAGEBOX("Data type mismatch.")
RETURN
CASE NOT UPPER(ALLTRIM(returntype)) == "DAY" AND ;
NOT UPPER(ALLTRIM(returntype)) == "DATE"
MESSAGEBOX("Invalid return type.")
RETURN
ENDCASE
ELSE
returntype = "DATE"
ENDIF
IF NOT EMPTY(seeddate)
DO CASE
CASE TYPE("seeddate") = "C"
seeddate = CTOD(seeddate)
CASE TYPE("seeddate") = "D"
OTHERWISE
MESSAGEBOX("Invalid parameter.")
RETURN
ENDCASE
ELSE
seeddate = DATE()
ENDIF
cFirstThisMonth = TRANSFORM(MONTH(seeddate)) + "/1/" + ;
TRANSFORM(YEAR(seeddate))
cLastDate = TRANSFORM(CTOD(cFirstThisMonth) - 1)
IF UPPER(ALLTRIM(returntype)) == "DAY"
cLastDate = CDOW(CTOD(cLastDate))
ENDIF
RETURN cLastDate
ENDFUNC
HTH,
Ken Dibble
Southern Tier Independence Center
On Thu, 31 Jul 2003 15:41:15 -0700, "Jack" <_@_.com> wrote:
>Hi all,
>
>I need a date string containing the 1st day of the current
>month.
>
>IE:
>? lcDate
>07/01/03
>
>or the a date string containing the last day of the
>previous month.
>
>? lcDate
>06/30/03
>
>Your input is appreciated. Thanks.