home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rexxalgo.zip / TESTALGO / Date2000.CMD < prev    next >
OS/2 REXX Batch file  |  1997-08-11  |  3KB  |  76 lines

  1. /* REXX **********************************************/
  2. /*                                                   */
  3. /* Program name.: Date2000                           */
  4. /*                                                   */
  5. /* Function.....: Test procedur Date2000             */
  6. /*                Date with years century            */
  7. /* Author.......: Janosch R. Kowalczyk               */
  8. /* Creation date: 1996.11.05                         */
  9. /* Version......: 1.0                                */
  10. /*                                                   */
  11. /* Changes......: No                                 */
  12. /*                                                   */
  13. /* Made use of GREED.  05 Nov 1996 / 19:28:51   JRK  */
  14. /*****************************************************/
  15.  
  16. If RxFuncQuery('SysLoadFuncs') Then Do
  17.   Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
  18.   Call SysLoadFuncs
  19. End /* If RxFuncQuery... */
  20.  
  21. Say
  22. Say Center( "( DATE 2000 )", 80, '*')
  23.  
  24. Say 'Date()  =' Date2000()
  25. Say 'Date(B) =' Date2000(B)
  26. Say 'Date(D) =' Date2000(Days)
  27. Say 'Date(E) =' Date2000(E)
  28. Say 'Date(J) =' Date2000(Julian)
  29. Say 'Date(L) =' Date2000(L)
  30. Say 'Date(M) =' Date2000(M)
  31. Say 'Date(N) =' Date2000(N)
  32. Say 'Date(O) =' Date2000(O)
  33. Say 'Date(S) =' Date2000(S)
  34. Say 'Date(U) =' Date2000(U)
  35. Say 'Date(W) =' Date2000(W)
  36. Say
  37. /*-------------------(End program)------------------*/
  38. Call CharOut , "Press any key to exit "
  39. Call LineIn
  40.  
  41. Exit
  42.  
  43. /*=================(PROCEDURES)==================*/
  44. Date2000: Procedure
  45. Parse Value Arg(1) With Option +1 .
  46.  
  47. /*-----------------------------------*/
  48. /*   = dd Mmm yyyy                   */
  49. /* B = dddddd days since 01.01.0001  */
  50. /* D = ddd - days                    */
  51. /* E = dd/mm/yy ===> dd/mm/yyyy      */
  52. /* J = yyyy.ddd - julians date       */
  53. /* L = dd Month yyyy                 */
  54. /* M = Month                         */
  55. /* N = dd Mmm yyyy                   */
  56. /* O = yy/mm/dd ===> yyyy/mm/dd      */
  57. /* S = yyyymmdd                      */
  58. /* U = mm/dd/yy ===> mm/dd/yyyy      */
  59. /* W = Weekday                       */
  60. /*-----------------------------------*/
  61.  
  62. If Option = '' Then Return Date()
  63. If Verify('EJOU', Option, 'M') > 0 Then Do
  64.   Parse Value Date() With . . yyyy
  65.   If Option = 'J' Then Return yyyy || '.' || Date('D')
  66.   Else If Option = 'O' Then Do
  67.     Parse Value Date(Option) With . +2 Rest
  68.     Return yyyy || Rest
  69.   End
  70.   Else Do
  71.     Parse Value Date(Option) With Rest +6 .
  72.     Return Rest || yyyy
  73.   End
  74. End
  75. Else Return Date(Option)
  76.