File: testdate.cpp

package info (click to toggle)
xdb 1.2.0-7.2
  • links: PTS
  • area: main
  • in suites: lenny, squeeze, wheezy
  • size: 1,688 kB
  • ctags: 1,053
  • sloc: cpp: 14,001; sh: 6,711; makefile: 150
file content (84 lines) | stat: -rw-r--r-- 3,225 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/*  $Id: testdate.cpp,v 1.6 1999/03/19 10:56:32 willy Exp $

    Xbase project source code

    This program tests the xdate routines 

    Copyright (C) 1997  StarTech, Gary A. Kunkel   
    email - xbase@startech.keller.tx.us
    www   - http://www.startech.keller.tx.us/xbase.html

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

    V 1.0   10/10/97   - Initial release of software
    V 1.5   1/2/98     - Added memo field support
    V 1.6a  5/1/98     - Added expression support
    V 1.8   11/29/98   - Version 1.8 upgrade
*/

#include <xdb/xbase.h>

int main()
{
   xbXBase x;
   long l;

   std::cout << "This program tests the XDATE routines" << std::endl;

   std::cout << "\nThis year is  " << x.YearOf ( x.Sysdate() );
   std::cout << "\nThis Month is " << x.MonthOf( x.Sysdate() );
   std::cout << "\nToday is day " << x.DayOf( XB_FMT_WEEK, x.Sysdate()) << "  of the week"; 
   std::cout << "\nToday is day " << x.DayOf( XB_FMT_MONTH, x.Sysdate()) << " of the month";
   std::cout << "\nToday is day " << x.DayOf( XB_FMT_YEAR, x.Sysdate()) << " of the year";

   if( x.IsLeapYear( x.Sysdate()))
      std::cout << "\nThis is a leapyear";
   else
      std::cout << "\nThis is not a leap year."; 

   std::cout << "\nToday is " << x.Sysdate();

   if( x.DateIsValid( "19951301" ))
      std::cout << "\n19951301 is a valid date";
   else
      std::cout << "\n19951301 is not a valid date";

   l =  x.JulianDays( "19951101" ) - x.JulianDays( "19951001" );

   std::cout << "\nThere are " << l
        << " days between 10/1/95 and 11/1/95.";

   std::cout << "\nIn 7 days it will be "  
        << x.JulToDate8( x.JulianDays( x.Sysdate()) + 7L );

   std::cout << "\nToday is " << x.CharDayOf( x.Sysdate());
   std::cout << "\nThis month is " << x.CharMonthOf( x.Sysdate());

   std::cout << "\nFormat (YYDDD)              " << x.FormatDate( "YYDDD", x.Sysdate());
   std::cout << "\nFormat (MM/DD/YY)           " << x.FormatDate( "MM/DD/YY", x.Sysdate());
   std::cout << "\nFormat (MMMM DD,YYYY)       " << x.FormatDate( "MMMM DD,YYYY", x.Sysdate());
   std::cout << "\nFormat (DDDD, MMMM DD YYYY) " << x.FormatDate( "DDDD, MMMM DD YYYY", x.Sysdate());

   std::cout << "\nDefault DateFormat is       " << x.GetDefaultDateFormat();
   //std::cout << "  " << x.DTOC( x.Sysdate() );
   std::cout << "\nSetting DefaultDateFormat to DD/MM/YY";
   x.SetDefaultDateFormat( "DD/MM/YY" );
   std::cout << "\nDefault DateFormat is now   " << x.GetDefaultDateFormat();
   //std::cout << "  " << x.DTOC( x.Sysdate() );

   std::cout << "\n";
   return 0;
}