16f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* 26f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org******************************************************************************* 36f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* 46f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* Copyright (C) 2002-2012, International Business Machines 56f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* Corporation and others. All Rights Reserved. 66f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org* 76f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org******************************************************************************* 86f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org*/ 96f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "unicode/calendar.h" 116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include "unicode/gregocal.h" 126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#include <stdio.h> 136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgextern "C" void c_main(); 156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgvoid cpp_main() 176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org UErrorCode status = U_ZERO_ERROR; 196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org puts("C++ sample"); 206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org GregorianCalendar* gc = new GregorianCalendar(status); 216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if (U_FAILURE(status)) { 226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org puts("Couldn't create GregorianCalendar"); 236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org return; 246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org } 256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /* set up the date */ 266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org gc->set(2000, UCAL_FEBRUARY, 26); 276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org gc->set(UCAL_HOUR_OF_DAY, 23); 286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org gc->set(UCAL_MINUTE, 0); 296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org gc->set(UCAL_SECOND, 0); 306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org gc->set(UCAL_MILLISECOND, 0); 316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /* Iterate through the days and print it out. */ 326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org for (int32_t i = 0; i < 30; i++) { 336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /* print out the date. */ 346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /* You should use the DateFormat to properly format it */ 356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org printf("year: %d, month: %d (%d in the implementation), day: %d\n", 366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org gc->get(UCAL_YEAR, status), 376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org gc->get(UCAL_MONTH, status) + 1, 386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org gc->get(UCAL_MONTH, status), 396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org gc->get(UCAL_DATE, status)); 406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if (U_FAILURE(status)) 416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org { 426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org puts("Calendar::get failed"); 436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org return; 446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org } 456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org /* Add a day to the date */ 466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org gc->add(UCAL_DATE, 1, status); 476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org if (U_FAILURE(status)) { 486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org puts("Calendar::add failed"); 496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org return; 506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org } 516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org } 526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org delete gc; 536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org} 546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org/* Creating and using text boundaries */ 576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgint main( void ) 586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{ 596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org puts("Date-Calendar sample program"); 606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org cpp_main(); 626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org c_main(); 646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org return 0; 666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org} 676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org 68