DESCENDING()

DMY(), MDY()

DMY() returns a character string in the form day-month-year, and MDY returns month-day-year, when supplied with a date or datetime variable.

Usage

lcDateToDisplay = DMY( dDate | tDateTime ) lcDateToDisplay = MDY( dDate | tDateTime )
Neither of these two functions has much going in the user-friendly department. Both DMY() and MDY() precede a single-digit day with a zero, and both display two-digit years if CENTURY is set OFF. We would typically use these functions to display a date on a report, and both fall short of our standards for that task.

The following function produces a much prettier version of DMY(), always returning a four-digit year field and not preceding single-digit values with a zero:

* GoodDmy.PRG - return a prettier DMY value * Parameter: tdDate - a date or datetime value *            default - today's date * Returns: String of form DD Mmmmmm YYYY PARAMETER tdDate IF EMPTY(tdDate) OR NOT INLIST(type('tdDate'),"D","T")   tdDate = DATE() ENDIF RETURN PADL(DAY(tdDate),2) + " " + ;        CMONTH(tdDate) + " " + ;        STR(YEAR(tdDate),4)
MDY() returns a character string in the form MMM DD, YY (or YYYY, depending on SET CENTURY). Like the DMY() function, this one isn't too smart, preceding single-digit dates with a zero, and displaying years as two-digit numbers if CENTURY is set OFF. A better version is:

* GoodMDY.PRG - return a prettier MDY value * Parameter: tDate - a date or datetime value *            default - today's date * Returns: String of form Mmmmmm DD, YYYY PARAMETER tdDate IF EMPTY(tdDate) OR NOT INLIST(TYPE('tdDate'),"D","T")   tdDate = DATE() ENDIF RETURN CMONTH(tdDate) + " " + ;        LTRIM(STR(DAY(tdDate))) + ", " + ;        STR(YEAR(tdDate),4)

Example

? DMY({03/18/1954})  && returns "18 March 1954" ? DMY({01/01/01})    && returns "01 January 01" with CENTURY OFF ? MDY({03/18/1954})  && returns "March 18, 1954"

See Also

Day(), Dow(), Date(), DateTime(), GoMonth(), Month(), Set Century, Set Date, Set Mark To, Year()


View Updates

Copyright © 2002 by Tamar E. Granor, Ted Roche, Doug Hennig, and Della Martin. All Rights Reserved.



Hacker's Guide to Visual FoxPro 7. 0
Hackers Guide to Visual FoxPro 7.0
ISBN: 1930919220
EAN: 2147483647
Year: 2001
Pages: 899

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net