You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.0 KiB
62 lines
2.0 KiB
/*
|
|
*******************************************************************************
|
|
*
|
|
* © 2016 and later: Unicode, Inc. and others.
|
|
* License & terms of use: http://www.unicode.org/copyright.html
|
|
*
|
|
*******************************************************************************
|
|
*******************************************************************************
|
|
*
|
|
* Copyright (C) 2002-2003, International Business Machines
|
|
* Corporation and others. All Rights Reserved.
|
|
*
|
|
*******************************************************************************
|
|
*/
|
|
|
|
#include "unicode/ucal.h"
|
|
#include <stdio.h>
|
|
|
|
void c_main()
|
|
{
|
|
puts("----");
|
|
puts("C Sample");
|
|
|
|
UErrorCode status = U_ZERO_ERROR;
|
|
int32_t i;
|
|
UCalendar *cal = ucal_open(NULL, -1, NULL, UCAL_GREGORIAN, &status);
|
|
if (U_FAILURE(status)) {
|
|
puts("Couldn't create GregorianCalendar");
|
|
return;
|
|
}
|
|
/* set up the date */
|
|
ucal_set(cal, UCAL_YEAR, 2000);
|
|
ucal_set(cal, UCAL_MONTH, UCAL_FEBRUARY); /* FEBRUARY */
|
|
ucal_set(cal, UCAL_DATE, 26);
|
|
ucal_set(cal, UCAL_HOUR_OF_DAY, 23);
|
|
ucal_set(cal, UCAL_MINUTE, 0);
|
|
ucal_set(cal, UCAL_SECOND, 0);
|
|
ucal_set(cal, UCAL_MILLISECOND, 0);
|
|
/* Iterate through the days and print it out. */
|
|
for (i = 0; i < 30; i++) {
|
|
/* print out the date. */
|
|
/* You should use the udat_* API to properly format it */
|
|
printf("year: %d, month: %d (%d in the implementation), day: %d\n",
|
|
ucal_get(cal, UCAL_YEAR, &status),
|
|
ucal_get(cal, UCAL_MONTH, &status) + 1,
|
|
ucal_get(cal, UCAL_MONTH, &status),
|
|
ucal_get(cal, UCAL_DATE, &status));
|
|
if (U_FAILURE(status)) {
|
|
puts("Calendar::get failed");
|
|
return;
|
|
}
|
|
/* Add a day to the date */
|
|
ucal_add(cal, UCAL_DATE, 1, &status);
|
|
if (U_FAILURE(status))
|
|
{
|
|
puts("Calendar::add failed");
|
|
return;
|
|
}
|
|
}
|
|
ucal_close(cal);
|
|
}
|