home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 8 / CDASC08.ISO / VRAC / FDATE82A.ZIP / FDATEX.BAT < prev    next >
DOS Batch File  |  1993-08-15  |  27KB  |  782 lines

  1. @ECHO off
  2. BREAK ON
  3. if not (%1)==() goto %1
  4. CLS
  5. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  6. echo ║         FDATEX: Demonstration batch file for FDATE                          ║
  7. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  8. echo.
  9. echo.
  10. echo This batch file uses ANSI.SYS to control the appearance and color
  11. echo of some of the headings.
  12.  
  13. echo.
  14. echo If you do not have ANSI.SYS installed, you may see garbage on the
  15. echo screen next to some of the headings, such as the one at the top of
  16. echo this screen, but the batch file will work correctly otherwise.
  17.  
  18. echo.
  19. echo.
  20. echo.
  21. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  22. echo ║        The first thing we will do is to test the HELP screen.               ║
  23. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  24. PAUSE
  25.  
  26. cls
  27. FDATE
  28. PAUSE
  29. ECHO ON
  30.  
  31. @echo off
  32. CLS
  33. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  34. echo ║                TEST   OUTPUT FORMATS (#1)                                   ║
  35. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  36. @echo on
  37. FDATE /Ff /Occyy
  38. FDATE /Ff /Occyymm
  39. FDATE /Ff /Occyymmdd
  40. FDATE /Ff /Oyymmdd
  41. FDATE /Ff /Ommdd
  42. @echo off
  43. @PAUSE
  44.  
  45. @echo off
  46. CLS
  47. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  48. echo ║                TEST   OUTPUT FORMATS (#1b)                                  ║
  49. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  50. @echo on
  51. FDATE /Ff /At /Oddmn3yy
  52. FDATE /Ff /Odd-mn3-yy
  53. FDATE /Ff /Odd-mn3-yy /Lfr
  54. FDATE /Ff /Odd-mn3-yy /Lsp
  55. @echo off
  56. @PAUSE
  57.  
  58. @echo off
  59. CLS
  60. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  61. echo ║                TEST   OUTPUT FORMATS (#1c)                                  ║
  62. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  63. @echo on
  64. FDATE /Ff /Oyy
  65. FDATE /Ff /Omm
  66. FDATE /Ff /Ozm
  67. FDATE /Ff /Odd
  68. FDATE /Ff /Ozd
  69. @echo off
  70. @PAUSE
  71.  
  72. CLS
  73. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  74. echo ║                TEST   OUTPUT FORMATS (#2)                                   ║
  75. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  76. @echo on
  77. FDATE /Ff /Omm-dd-ccyy
  78. FDATE /Ff /Ozm-zd-ccyy
  79. FDATE /Ff /Omm/dd/ccyy
  80. FDATE /Ff /Ozm/zd/ccyy
  81. @echo off
  82. PAUSE
  83.  
  84. CLS
  85. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  86. echo ║                TEST   OUTPUT FORMATS (BRITISH)                              ║
  87. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  88. @echo on
  89. FDATE /Ff /Odd.mm.ccyy
  90. FDATE /Ff /Ozd.zm.ccyy
  91. FDATE /Ff /Odd.mm.yy
  92. FDATE /Ff /Ozd.zm.yy
  93. @echo off
  94. PAUSE
  95.  
  96.  
  97. CLS
  98. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  99. echo ║                TEST   OUTPUT FORMATS (GERMAN)                               ║
  100. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  101. @echo on
  102. FDATE /Ff /O"zd. mn ccyy"   /Lgr
  103. FDATE /Ff /O"zd. mn3 ccyy"  /Lgr
  104. @echo off
  105. PAUSE
  106.  
  107. CLS
  108. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  109. echo ║                TEST   OUTPUT FORMATS (#3)                                   ║
  110. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  111. @echo on
  112. FDATE /Ff /At /Odow#
  113. FDATE /Ff /At /Odow
  114. FDATE /Ff /At /Odow3
  115. FDATE /Ff /At /Odow  /Lfr
  116. FDATE /Ff /At /Odow3 /Lfr
  117. FDATE /Ff /At /Odow3 /Lsp
  118. FDATE /Ff /At /Odow3 /Lgr
  119. @echo off
  120. PAUSE
  121.  
  122. CLS
  123. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  124. echo ║                TEST   OUTPUT FORMATS (#4)                                   ║
  125. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  126. @echo on
  127. FDATE /Ff /At /O"mn3 dd ccyy"
  128. FDATE /Ff /At /O"mn3 dd, ccyy"
  129. FDATE /Ff /At /O"mn zd, ccyy"  /Lfr
  130. FDATE /Ff /At /O"mn zd, ccyy"  /Lsp
  131. FDATE /Ff /At /O"mn3 dd ccyy"  /Lfr
  132. FDATE /Ff /At /O"mn3 dd, ccyy" /Lfr
  133. @echo off
  134. PAUSE
  135.  
  136. CLS
  137. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  138. echo ║                TEST   OUTPUT FORMATS (#5)                                   ║
  139. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  140. @echo on
  141. FDATE /Ff /At /O"mn zd, ccyy"
  142. FDATE /Ff /At /O"zd mn ccyy"
  143. FDATE /Ff /At /O"zd mn, ccyy"
  144. FDATE /Ff /At /O"zd mn ccyy"  /Lfr
  145. FDATE /Ff /At /O"zd mn, ccyy" /Lfr
  146. @echo off
  147. PAUSE
  148.  
  149. CLS
  150. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  151. echo ║                TEST   OUTPUT FORMATS (#6)                                   ║
  152. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  153. @echo on
  154. Fdate /Ff /Occyy-mm-dd
  155. Fdate /Ff /Occyy/mm/dd
  156. Fdate /Ff /Occyy.mm.dd
  157. Fdate /Ff /Oyy-mm-dd
  158. Fdate /Ff /Oyy/mm/dd
  159. Fdate /Ff /Oyy.mm.dd
  160. @echo off
  161. PAUSE
  162.  
  163. :us
  164. CLS
  165. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  166. echo ║                TEST LANGUAGE OUTPUT: AMERICAN ENGLISH                       ║
  167. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  168. ECHO NAMES OF MONTHS
  169. for %%v in (1 2 3 4 5 6 7 8 9) do fdate /ff /Lus /oFULL /iccyymmdd /a19930%%v01
  170. for %%v in (10 11 12         ) do fdate /ff /Lus /oFULL /iccyymmdd /a1993%%v01
  171. ECHO NAMES OF DAYS OF WEEK
  172. for %%v in (0 1 2 3 4 5 6 ) do fdate /fadd /N%%v /od1   /Lus
  173. PAUSE
  174.  
  175. :french
  176. CLS
  177. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  178. echo ║                TEST LANGUAGE OUTPUT: FRENCH                                 ║
  179. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  180. ECHO NAMES OF MONTHS
  181. for %%v in (1 2 3 4 5 6 7 8 9) do fdate /ff /Lfr /oFULL /iccyymmdd /a19930%%v01
  182. for %%v in (10 11 12         ) do fdate /ff /Lfr /oFULL /iccyymmdd /a1993%%v01
  183. ECHO NAMES OF DAYS OF WEEK
  184. for %%v in (0 1 2 3 4 5 6 ) do fdate /fadd /N%%v /od1   /Lfr
  185. PAUSE
  186.  
  187. :german
  188. CLS
  189. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  190. echo ║                TEST LANGUAGE OUTPUT: GERMAN                                 ║
  191. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  192. ECHO NAMES OF MONTHS
  193. for %%v in (1 2 3 4 5 6 7 8 9) do fdate /ff /Lgr /oFULL /iccyymmdd /a19930%%v01
  194. for %%v in (10 11 12         ) do fdate /ff /Lgr /oFULL /iccyymmdd /a1993%%v01
  195. ECHO NAMES OF DAYS OF WEEK
  196. for %%v in (0 1 2 3 4 5 6 ) do fdate /fadd /N%%v /od1   /Lgr
  197. PAUSE
  198.  
  199. :spanish
  200. CLS
  201. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  202. echo ║                TEST LANGUAGE OUTPUT: SPANISH                                ║
  203. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  204. ECHO NAMES OF MONTHS
  205. for %%v in (1 2 3 4 5 6 7 8 9) do fdate /ff /Lsp /oFULL /iccyymmdd /a19930%%v01
  206. for %%v in (10 11 12         ) do fdate /ff /Lsp /oFULL /iccyymmdd /a1993%%v01
  207. ECHO NAMES OF DAYS OF WEEK
  208. for %%v in (0 1 2 3 4 5 6 ) do fdate /fadd /N%%v /od1   /Lsp
  209. PAUSE
  210.  
  211. CLS
  212. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  213. echo ║                TEST   OUTPUT FORMATS (TIME)                                 ║
  214. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  215. @echo on
  216. FDATE /Ff /At /Ot1
  217. FDATE /Ff /At /Ohh:mm
  218. FDATE /Ff /At /Ohh:mm:ss
  219. @echo off
  220. PAUSE
  221.  
  222. CLS
  223. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  224. echo ║                TEST   OUTPUT FORMATS (DATE ABBREVIATIONS)                   ║
  225. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  226. @echo on
  227. FDATE /Ff
  228. FDATE /Ff /Ofull
  229. FDATE /Ff /Lfr
  230. FDATE /Ff /Ofull /Lfr
  231. FDATE /Ff /Ofull /Lsp
  232. FDATE /Ff /Oly /P"Leap-year flag is: " /S" [0=normal, 1=leapyear]"
  233. @echo off
  234. PAUSE
  235. :julian
  236. CLS
  237. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  238. echo ║                TEST   OUTPUT FORMATS ("JULIAN" OUTPUTS)                     ║
  239. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  240. @echo on
  241. FDATE /Ff /Oday#     /P"Absolute date : "
  242. FDATE /Ff /Ominute#  /P"Julian minutes: "
  243. FDATE /Ff /Osecond#  /P"Julian seconds: "
  244. @pause
  245.  
  246. @cls
  247. FDATE /Ff /Occyyjjj  /P"Julian date is: "
  248. FDATE /Ff /Oyyjjj    /P"Julian date is: "
  249. FDATE /Ff /Ojjj      /P"Julian date is: "
  250. FDATE /Ff /Ozzj      /P"Julian date is: "
  251. FDATE /Ff /Ojulian   /P"Julian date is: "
  252. @echo off
  253. PAUSE
  254.  
  255. :IN
  256. CLS
  257. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  258. echo ║                TEST   INPUT  FORMATS                                        ║
  259. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  260. echo.
  261. @echo TEST PSEUDO-DATES   /AT  (/ATODAY)
  262. @echo ─────────────────────────────────────────────────────────────────
  263. @echo on
  264. FDATE /Ff /Atoday
  265. FDATE /Ff /At
  266. @Pause
  267. cls
  268. @ECHO TEST PSEUDO-DATES     /ICCYYMMDD
  269. @echo ─────────────────────────────────────────────────────────────────
  270. FDATE /Ff /Atttt1126  /Iccyymmdd
  271. FDATE /Ff /A1991tt26  /Iccyymmdd
  272. FDATE /Ff /A199211tt  /Iccyymmdd
  273. FDATE /Ff /Atttttttt  /Iccyymmdd
  274. @Pause
  275. cls
  276. @ECHO TEST PSEUDO-DATES
  277. @echo ─────────────────────────────────────────────────────────────────
  278. FDATE /Ff /A11-26-tttt
  279. FDATE /Ff /A11-tt-1992
  280. FDATE /Ff /Att-26-1992
  281. FDATE /Ff /Att-tt-tttt
  282. @Pause
  283. cls
  284. @ECHO TEST PSEUDO-DATES     /IMM-DD-YY
  285. @echo ─────────────────────────────────────────────────────────────────
  286. FDATE /Ff /A11-26-tt /Imm-dd-yy
  287. FDATE /Ff /A11-tt-92 /Imm-dd-yy
  288. FDATE /Ff /Att-26-92 /Imm-dd-yy
  289. FDATE /Ff /Att-tt-tt /Imm-dd-yy
  290. @PAUSE
  291.  
  292. CLS
  293. @echo TEST INPUT FORMATS
  294. @echo ─────────────────────────────────────────────────────────────────
  295. FDATE /Ff /Imm-dd-ccyy /A12-07-1991
  296. FDATE /Ff /Imm-dd-yy   /A12-07-91
  297. FDATE /Ff /Iccyymmdd   /A19911207
  298. @PAUSE
  299.  
  300. CLS
  301. @echo TEST INPUT FORMATS (British/European)
  302. @echo ─────────────────────────────────────────────────────────────────
  303. Fdate /Ff /Idd-mm-yy   /A2/5/92
  304. Fdate /Ff /Idd-mm-yy   /A2/5/10
  305. Fdate /Ff /Idd-mm-yy   /A12/12/10
  306. Fdate /Ff /Idd-mm-ccyy /A2/5/1992
  307. Fdate /Ff /Idd-mm-ccyy /A12/5/1992
  308. Fdate /Ff /Idd-mm-ccyy /A2/05/1992
  309. Fdate /Ff /Idd-mm-ccyy /A12/05/1992
  310. @PAUSE
  311.  
  312. CLS
  313. @echo TEST INPUT FORMATS  (/If ... GET INPUT DATE/TIME FROM A FILE)
  314. @echo ─────────────────────────────────────────────────────────────────
  315. FDATE /Ff /If /Afdatex.bat /P"The date on file FDATEX.BAT is: "
  316. FDATE /Ff /If /Afdatex.bat /P"The time on file FDATEX.BAT is: " /Ohh:mm:ss
  317. FDATE /Ff /If /Afdatex.bat /P"FDATEX.BAT was last updated at " /Ofull
  318. @PAUSE
  319.  
  320. :JJJ
  321.  
  322. CLS
  323. @echo ON
  324. @echo TEST JULIAN INPUT FORMATS
  325. @echo ─────────────────────────────────────────────────────────────────
  326. FDATE /Ff /Iccyyjjj /A1992045
  327. FDATE /Ff /Iccyyjjj /Atttt045
  328. FDATE /Ff /Iyyjjj /A92045
  329. FDATE /Ff /Iyyjjj /Att045
  330. FDATE /Ff /Iyyjjj /A92366
  331. FDATE /Ff /Iyyjjj /A93366
  332. @PAUSE
  333.  
  334. CLS
  335. @echo TEST JULIAN INPUT FORMATS
  336. @echo ─────────────────────────────────────────────────────────────────
  337. Fdate /Ff /Iyyjjj /Att-1
  338. Fdate /Ff /Iyyjjj /Att0
  339. Fdate /Ff /Iyyjjj /Att+1
  340. Fdate /Ff /Iyyjjj /Att-999
  341. Fdate /Ff /Iyyjjj /Att1000
  342. @PAUSE
  343. @echo OFF
  344.  
  345. CLS
  346. @echo TEST INPUT FORMATS (only YY specified, CC assumed.)
  347. @echo ─────────────────────────────────────────────────────────────────
  348. FDATE /Ff /Imm-dd-yy /A12-07-00
  349. FDATE /Ff /Imm-dd-yy /A12-07-10
  350. FDATE /Ff /Imm-dd-yy /A12-07-19
  351. FDATE /Ff /Imm-dd-yy /A12-07-20
  352. FDATE /Ff /Imm-dd-yy /A12-07-21
  353. FDATE /Ff /Imm-dd-yy /A12-07-91
  354. @PAUSE
  355.  
  356. CLS
  357. @echo off
  358. @echo TEST INPUT FORMATS HANDLING LEADING ZEROS
  359. @echo ─────────────────────────────────────────────────────────────────
  360. FDATE /Ff /Imm-dd-yy /A06-06-66
  361. FDATE /Ff /Imm-dd-yy /A6-06-66
  362. FDATE /Ff /Imm-dd-yy /A06-6-66
  363. FDATE /Ff /Imm-dd-yy /A6-6-66
  364. FDATE /Ff /A06-06-0001
  365. FDATE /Ff /A6-06-0001
  366. FDATE /Ff /A06-6-0001
  367. FDATE /Ff /A6-6-0001
  368. @PAUSE
  369.  
  370. @echo on
  371.  
  372. CLS
  373. @echo TEST /P (PREFIX) PARAMETER
  374. @echo ─────────────────────────────────────────────────────────────────
  375. FDATE /Ff /At /O"mn zd, ccyy" /P"Today is "
  376. FDATE /Ff /At /O"mn zd, ccyy" /P"Aujourdui est " /Lfr
  377. FDATE /Ff /At /O"mn zd, ccyy" /P"Hoy es "        /Lsp
  378. @echo.
  379. @set  FDATE=
  380. FDATE /Ff /At /O"mn zd, ccyy" /P"@SET FDATE=" >FDATJUNK.BAT
  381. @Echo off
  382. call FDATJUNK.BAT
  383. del FDATJUNK.BAT
  384. ECHO Value of FDATE environment variable is: %FDATE%
  385. set  FDATE=
  386. PAUSE
  387.  
  388. CLS
  389. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  390. echo ║                TEST   END-OF-MONTH DATES (BUG FIXED IN FDATE 3.0)           ║
  391. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  392. @echo off
  393. fdate /Ff /A01-29-1992
  394. fdate /Ff /A01-30-1992
  395. fdate /Ff /A01-31-1992
  396. fdate /Ff /A02-29-1992
  397. fdate /Ff /A02-30-1992
  398. fdate /Ff /A02-31-1992
  399. @echo off
  400. PAUSE
  401.  
  402. CLS
  403. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  404. echo ║                TEST   DATE VALIDATION  FUNCTION                             ║
  405. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  406. @echo ON
  407. fdate /Fv /A02-29-1991
  408. fdate /Fv /A02-29-1992
  409. fdate /Fv /A02-29-1993
  410. @echo off
  411. PAUSE
  412.  
  413. CLS
  414. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  415. echo ║                TEST   MONTH ARITHMETIC FUNCTION                             ║
  416. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  417. ECHO on
  418. fdate /Fm /iccyymmdd /a19920331 /n-1
  419. fdate /Fm /iccyymmdd /a19930331 /n-1
  420. fdate /Fm /iccyymmdd /a19920131 /n1
  421. fdate /Fm /iccyymmdd /a19930131 /n1
  422. fdate /Fm /iccyymmdd /a19920229 /n-12
  423. fdate /Fm /iccyymmdd /a19920229 /n+12
  424. fdate /Fm /iccyymmdd /a19911231 /n2
  425. @echo off
  426. pause
  427.  
  428. cls
  429. Echo Adding months to Jan 31, 1992
  430. Echo -------------------------------------------------
  431. for %%v in (1 2 3 4 5 6 7 8 9 10 11 12 13) do fdate /Fm /iccyymmdd /a19920131 /n%%v /s" (%%v months added)"
  432. echo.
  433. pause
  434.  
  435. cls
  436. @echo on
  437. fdate /Fm /iccyymmdd /a00020115 /n-12
  438. fdate /Fm /iccyymmdd /a00020115 /n-13
  439. fdate /Fm /iccyymmdd /a00011212 /n-11
  440. fdate /Fm /iccyymmdd /a00011212 /n-12
  441. fdate /Fm /iccyymmdd /a00010201 /n-1
  442. fdate /Fm /iccyymmdd /a00010201 /n-2
  443. @echo off
  444. pause
  445.  
  446. :func
  447. CLS
  448. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  449. echo ║                TEST   FUNCTIONS                                             ║
  450. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  451. @echo on
  452. @echo.
  453. @echo TEST FUNCTION: F (FORMAT)
  454. @echo ─────────────────────────────────────────────────────────────────
  455. FDATE /Fformat /Atoday
  456. FDATE /Ff      /At
  457. FDATE /Ff
  458. @PAUSE
  459. @echo off
  460. CLS
  461. @echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D NOT = DOW#
  462. @echo ─────────────────────────────────────────────────────────────────
  463. FDATE /Fw /A11-25-1992 /D5 /N-2 /P"2nd Thursday before 11-25-1992: "
  464. FDATE /Fw /A11-25-1992 /D5 /N-1 /P"1st Thursday before 11-25-1992: "
  465. FDATE /Ff /A11-25-1992 /D5 /N-1 /P"The actual day of.. 11-25-1992: "
  466. FDATE /Fw /A11-25-1992 /D5 /N1  /P"1st Thursday after  11-25-1992: "
  467. FDATE /Fw /A11-25-1992 /D5 /N2  /P"2nd Thursday after  11-25-1992: "
  468. @PAUSE
  469. @CLS
  470. @echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D = DOW#
  471. @echo ─────────────────────────────────────────────────────────────────
  472. FDATE /Fw /A11-26-1992 /D5 /N-2 /P"2nd Thursday before 11-26-1992: "
  473. FDATE /Fw /A11-26-1992 /D5 /N-1 /P"1st Thursday before 11-26-1992: "
  474. FDATE /Ff /A11-26-1992 /D5 /N-1 /P"The actual day of.. 11-26-1992: "
  475. FDATE /Fw /A11-26-1992 /D5 /N1  /P"1st Thursday after  11-26-1992: "
  476. FDATE /Fw /A11-26-1992 /D5 /N2  /P"2nd Thursday after  11-26-1992: "
  477. @PAUSE
  478. @echo off
  479. @CLS
  480. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  481. echo ║                TEST   /FW-RELATED ERROR MESSAGES                            ║
  482. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  483. FDATE /Fw /A11-26-1992 /D5 /N0    /P" 0th Thursday after 11-26-1992: "
  484. FDATE /Fw /A11-26-1992 /D5 /N100  /P"99th Thursday after 11-26-1992: "
  485. FDATE /Fw /A11-26-1992 /D5 /N-100 /P"99th Thursday before 11-26-1992: "
  486. @PAUSE
  487.  
  488. :comp
  489.  
  490. CLS
  491. @echo TEST COMP (DATE COMPARE) FUNCTION and default
  492. @echo ─────────────────────────────────────────────────────────────────
  493. @echo ON
  494. Fdate /Fcomp /A06-06-1992 /B06-06-1991
  495. Fdate /Fcomp /A06-06-1992 /B06-06-1992
  496. Fdate /Fcomp /A06-06-1992 /B06-06-1993
  497. Fdate /Fcomp
  498. @PAUSE
  499.  
  500. CLS
  501. @echo TEST TCOMP (TIME COMPARE) FUNCTION and default
  502. @echo ─────────────────────────────────────────────────────────────────
  503. @echo ON
  504. Fdate /FTcomp
  505. @ECHO XXXX>JUNKTEMP.BAT
  506. Fdate /FTcomp  /If /Ajunktemp.bat /Bfdatex.bat
  507. Fdate /FTcomp  /If /Bjunktemp.bat /Afdatex.bat
  508. Fdate /FTcomp  /If /Afdatex.bat   /Bfdatex.bat
  509. @del       JUNKTEMP.BAT
  510. @PAUSE
  511.  
  512. CLS
  513. @echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
  514. @echo ─────────────────────────────────────────────────────────────────
  515. FDATE /Fdif /At /Bt
  516. FDATE /Fdif
  517. FDATE /Fdif /At /B01-01-1990
  518. FDATE /Fdif /A01-01-1990 /Bt
  519. FDATE /Fdif /A12-31-0008 /B01-01-0009
  520. FDATE /Fdif /Iccyymmdd /A19801230 /B19801231
  521. FDATE /Fdif /Iccyymmdd /A19801230 /B19801220
  522. @PAUSE
  523.  
  524. CLS
  525. @echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
  526. @echo ─────────────────────────────────────────────────────────────────
  527. FDATE /Fdif /Iccyymmdd /A19800101 /B19801231
  528. FDATE /Fdif /Iccyymmdd /A19810101 /B19811231
  529. FDATE /Fdif /Iccyymmdd /A20000101 /B20001231
  530. FDATE /Fdif /Iccyymmdd /A19000101 /B19001231
  531. FDATE /Fdif /Iccyymmdd /A16000101 /B16001231
  532. @PAUSE
  533.  
  534. @echo off
  535. CLS
  536. echo TEST ADD (ADD A NUMBER TO A DATE, GET RESULTING DATE) FUNCTION
  537. echo ───────────────────────────────────────────────────────────────────────────────
  538. echo on
  539. FDATE /Fadd /N1 /A12-31-0008 /Omm-dd-ccyy
  540. FDATE /Fadd /N1 /At  /Od1 /P"Tomorrow will be "
  541. FDATE /Fadd /N90 /At /Od1 /P"90 days from today is "
  542. @PAUSE
  543.  
  544. CLS
  545. @echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
  546. @echo ─────────────────────────────────────────────────────────────────
  547. FDATE /Fadd /N1 /A12-31-0003
  548. FDATE /Fadd /N1 /A12-31-0099
  549. FDATE /Fadd /N1 /A12-31-0399
  550. FDATE /Fadd /N1 /A12-31-1899
  551. FDATE /Fadd /N1 /A12-31-1999
  552. @PAUSE
  553.  
  554. CLS
  555. @echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR END
  556. @echo ─────────────────────────────────────────────────────────────────
  557. FDATE /Fadd /N1 /A12-31-0004
  558. FDATE /Fadd /N1 /A12-31-0100
  559. FDATE /Fadd /N1 /A12-31-0400
  560. FDATE /Fadd /N1 /A12-31-1900
  561. FDATE /Fadd /N1 /A12-31-2000
  562. @PAUSE
  563.  
  564. CLS
  565. @echo TEST SUB
  566. @echo ─────────────────────────────────────────────────────────────────
  567. FDATE /Fsub /N1 /A12-31-0008
  568. FDATE /Fsub /N1 /At  /Od1 /P"Yesterday was "
  569. FDATE /Fsub /N90 /At /Od1 /P"90 days ago, the date was "
  570. @PAUSE
  571.  
  572. CLS
  573. @echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY BEFORE LEAP YEAR BEGIN
  574. @echo ─────────────────────────────────────────────────────────────────
  575. FDATE /Fsub /N1 /A12-31-0004
  576. FDATE /Fsub /N1 /A12-31-0100
  577. FDATE /Fsub /N1 /A12-31-0400
  578. FDATE /Fsub /N1 /A12-31-1900
  579. FDATE /Fsub /N1 /A12-31-2000
  580. @PAUSE
  581.  
  582. CLS
  583. @echo TEST SUB ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
  584. @echo ─────────────────────────────────────────────────────────────────
  585. FDATE /Fsub /N1 /A01-01-0004
  586. FDATE /Fsub /N1 /A01-01-0100
  587. FDATE /Fsub /N1 /A01-01-0400
  588. FDATE /Fsub /N1 /A01-01-1900
  589. FDATE /Fsub /N1 /A01-01-2000
  590. @PAUSE
  591.  
  592. CLS
  593. @echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY AFTER LEAP YEAR END
  594. @echo ─────────────────────────────────────────────────────────────────
  595. FDATE /Fsub /N1 /A01-01-0005
  596. FDATE /Fsub /N1 /A01-01-0101
  597. FDATE /Fsub /N1 /A01-01-0401
  598. FDATE /Fsub /N1 /A01-01-1901
  599. FDATE /Fsub /N1 /A01-01-2001
  600. @PAUSE
  601.  
  602. :errmsg
  603. CLS
  604. @echo TEST ERROR MESSAGES
  605. @echo ─────────────────────────────────────────────────────────────────
  606. @echo on
  607. FDATE /Ff /At /Ojunktest
  608. FDATE /Ff /A18880101 /Ijunktest /Ominute#
  609. @PAUSE
  610.  
  611. CLS
  612. FDATE /Ff   /Iccyymmdd  /A18880101 /Ominute#
  613. FDATE /Ff   /Iccyymmdd  /A21010101 /Osecond#
  614. FDATE /Fsub /Iccyymmdd  /A00010101 /n1 /od1
  615. FDATE /Fadd /Iccyymmdd  /A99991231 /n1 /od1
  616. @PAUSE
  617.  
  618. CLS
  619. FDATE /Ff   /A01-01-xxxx
  620. FDATE /Fadd /A01-01-1992 /N
  621. @PAUSE
  622.  
  623. CLS
  624. FDATE /Fdif /?01-01-1992 /B01-02-1992
  625. FDATE /Fdif /A01-01-1992 /?01-02-1992
  626. @PAUSE
  627.  
  628. CLS
  629. FDATE /Ff   /Imm-dd-yy   /A01-01-1
  630. FDATE /Ff   /Imm-dd-yy   /A01-01-199
  631. FDATE /Ff   /A01-01-199
  632. FDATE /Ff   /A01-01-19922
  633. @PAUSE
  634.  
  635. :LY
  636. CLS
  637. @echo on
  638. @echo TEST LEAPYR (#1)
  639. @echo ─────────────────────────────────────────────────────────────────
  640. FDATE /Ff /A01-01-0001 /Oly
  641. FDATE /Ff /A01-01-0004 /Oly
  642. FDATE /Ff /A01-01-0005 /Oly
  643. FDATE /Ff /A01-01-0100 /Oly
  644. FDATE /Ff /A01-01-0400 /Oly
  645. FDATE /Ff /A01-01-1600 /Oly
  646. @PAUSE
  647.  
  648. CLS
  649. @echo TEST LEAPYR (#2)
  650. @echo ─────────────────────────────────────────────────────────────────
  651. FDATE /Ff /A01-01-1900 /Oly
  652. FDATE /Ff /A01-01-1984 /Oly
  653. FDATE /Ff /A01-01-1991 /Oly
  654. FDATE /Ff /A01-01-1992 /Oly
  655. FDATE /Ff /A01-01-2000 /Oly
  656. @PAUSE
  657.  
  658. CLS
  659. @echo TEST "JULIAN" OUTPUT FORMATS
  660. @echo ─────────────────────────────────────────────────────────────────
  661. FDATE /Ff /At /Ojulian
  662. FDATE /Ff /At /Oday#
  663. FDATE /Ff /At /Ominute#
  664. FDATE /Ff /At /Osecond#
  665. FDATE /Ff /A19950101 /Iccyymmdd /Ominute#
  666. FDATE /Ff /A19950101 /Iccyymmdd /Osecond#
  667. @PAUSE
  668.  
  669. @ECHO off
  670. :ABSDATES
  671. CLS
  672. echo SHOW ABSOLUTE OR "TRUE JULIAN" DATES FOR SELECTED DATES
  673. echo ─────────────────────────────────────────────────────────────────
  674. ECHO.
  675. FDATE /Ff /A01-01-0001 /P"First day of year 0001: "  /Oday#
  676. ECHO.
  677. FDATE /Ff /A01-01-1900 /P"First day of year 1900: " /Oday#
  678. ECHO.
  679. FDATE /Ff /A01-01-1992 /P"First day of year 1992: " /Oday#
  680. ECHO.
  681. FDATE /Ff /At          /P"Today's calendar date : "
  682. FDATE /Ff /At /Oday#   /P"Today's absolute date : "
  683. ECHO.
  684. FDATE /Ff /A12-31-2000 /P"Last day of year 2000: " /Oday#
  685. ECHO.
  686. FDATE /Ff /A12-31-9999 /P"Last day of year 9999: " /Oday#
  687. PAUSE
  688.  
  689. :Numfuncs
  690. CLS
  691. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  692. echo ║       TEST NUMBER-MANIPULATION FUNCTIONS (ARITHMETIC FUNCTIONS)             ║
  693. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  694. echo on
  695. fdate /f#add  /a2 /b7
  696. fdate /f#dif  /a2 /b7
  697. fdate /f#comp /a2 /b7
  698. fdate /f#comp /a7 /b2
  699. fdate /f#mult /a7 /b2
  700. @pause
  701. @cls
  702. fdate /f#div  /a7 /b2
  703. fdate /f#Idiv /a7 /b2
  704. fdate /f#mod  /a7 /b2
  705. @echo off
  706. pause
  707.  
  708.  
  709. :GET
  710. CLS
  711. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  712. echo ║       TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: GET                 ║
  713. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  714. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  715. echo ║   If you do not have GET installed,                                         ║
  716. echo ║   you will see messages saying "Bad command of file name".                  ║
  717. echo ║   This is normal and nothing to worry about.                                ║
  718. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  719. @echo.
  720.  
  721. @echo on
  722. @set date1=
  723. @echo.
  724. FDATE /Ff /At /Oyymmdd|GET ZE /Vdate1 >NUL
  725. @echo DATE1 environment variable is %DATE1%
  726. @set date1=
  727. @echo.
  728. FDATE /Ff /At /Occyymmdd|GET ZE /Vdate1 >NUL
  729. @echo DATE1 environment variable is %DATE1%
  730. @set date1=
  731. @echo off
  732. @PAUSE
  733.  
  734. :STRINGS
  735. CLS
  736. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  737. echo ║       TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: STRINGS             ║
  738. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  739. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  740. echo ║   If you do not have STRINGS installed,                                     ║
  741. echo ║   you will see messages saying "Bad command of file name".                  ║
  742. echo ║   This is normal and nothing to worry about.                                ║
  743. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  744. @echo.
  745.  
  746. @echo on
  747. @set date1=
  748. @echo.
  749. FDATE /Ff /At /Oyymmdd | STRINGS date1= ASK >NUL
  750. @echo DATE1 environment variable is %DATE1%
  751. @set date1=
  752. @echo.
  753. FDATE /Ff /At /Occyymmdd | STRINGS date1= ASK >NUL
  754. @echo DATE1 environment variable is %DATE1%
  755. @set date1=
  756. @echo.
  757. @echo off
  758. @PAUSE
  759.  
  760.  
  761. cls
  762. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  763. echo ║                     END OF FDATE TEST BATCH FILE                            ║
  764. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  765. echo.
  766. echo I hope that you have found this demo batch file helpful,
  767. echo and that you will find FDATE useful.
  768. echo.
  769. echo                         -- Stephen Ferg
  770. echo.
  771. echo.
  772. echo.
  773.  
  774.  
  775. if not exist holidays.bat goto endit
  776. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  777. echo ║             READY TO EXECUTE HOLIDAYS.BAT ... DEMO BATCH FILE               ║
  778. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  779. pause
  780. HOLIDAYS.BAT
  781. :ENDIT
  782.