home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / podstawy / dos / 4dos / 4uzytki / 4datef.exe / DOW.BTM next >
Text File  |  1992-10-20  |  2KB  |  65 lines

  1. @echo off^goto dow_start
  2. :dow_help
  3. text
  4.  
  5.  DOW - Day of week. Returns the day of week as a number or a string.
  6.  
  7.  Command line usage:    DOW [/e |/el |/f |/fl |/? ] [<date>]
  8.  Batch file usage:      DOW [/e |/el |/f |/fl |/? ] [<date_variable>]
  9.                         - Day of week is returned in the variable, if given.
  10.  
  11.  Numeric return values are from 0 (Monday) to 6 (Sunday).
  12.  <Date> defaults to the current system date. Format depends on country
  13.  settings. Only dates between years 1980 and 2079 are valid.
  14.  
  15.  Switches:              /n  - Output format: numeric, Monday=0 (default)
  16.                         /e  -                english, shortcut
  17.                         /el -                english, long
  18.                         /f  -                finnish, shortcut
  19.                         /fl -                finnish, long
  20.                         /?  - This help screen
  21. endtext
  22. return
  23.  
  24. :dow_start
  25. if %_batch eq 1 setlocal
  26. if "%debug" eq "%@name[%0]" echo on
  27.  
  28. :switch_loop
  29. iff "%@substr[%1,0,1]" eq "/" then
  30.  if "%1" eq "/?" (gosub DOW_help^quit)
  31.  set Dow_f=%@lower[%@substr[%1,1]]
  32.  iff %@index[f;fl;e;el;?;,%Dow_f;] eq -1 .or. "%Dow_f" eq "" then
  33.   if %_batch eq 1 echo DOW: Invalid switch: %1
  34.   quit 2
  35.  endiff
  36.  shift
  37.  goto switch_loop
  38. endiff
  39.  
  40. iff "%1" eq "" then
  41.  set Dt=%@date[%_date]
  42. elseiff %_batch eq 1 then
  43.   set Dt=%@date[%1]
  44. else
  45.   set Dt=%@date[%[%1]]
  46. endiff
  47.  
  48. set Dow=%@eval[(%Dt+1)%%7]
  49. iff "%[Dow_f]" eq "f" then
  50.  set Dow=%@word[%Dow,Ma Ti Ke To Pe La Su]
  51. elseiff "%[Dow_f]" eq "fl" then
  52.  set Dow=%@word[%Dow,Maanantai Tiistai Keskiviikko Torstai Perjantai Lauantai Sunnuntai]
  53. elseiff "%[Dow_f]" eq "e" then
  54.  set Dow=%@word[%Dow,Mon Tue Wed Thu Fri Sat Sun]
  55. elseiff "%[Dow_f]" eq "el" then
  56.  set Dow=%@word[%Dow,Mon Tues Wednes Thurs Fri Satur Sun]day
  57. endiff
  58.  
  59. iff %_batch gt 1 .and. "%1" ne "" then
  60.  set %1=%Dow
  61. else
  62.  echos %Dow
  63. endiff
  64. unset Dt Dow >& nul
  65.