]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/samples/datecal/ccal.c
ICU-6.2.4.tar.gz
[apple/icu.git] / icuSources / samples / datecal / ccal.c
diff --git a/icuSources/samples/datecal/ccal.c b/icuSources/samples/datecal/ccal.c
new file mode 100644 (file)
index 0000000..1b65579
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+*******************************************************************************
+*
+*   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);  
+}