testudunits.c

00001 #include <math.h>
00002 #include <stdio.h>
00003 #include <stdlib.h>
00004 #include <udunits.h>
00005 
00006 int main(int argc, char *argv[])
00007 {
00008         utUnit  dataunits;
00009         double  newmonth=2.0;
00010         int     year, month, day, hour, minute;
00011         float   second;
00012         static  char *months[12] = { "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
00013         char *units = "months since 1975-11-01 00:00:00.0";
00014 
00015         if(argc==2)
00016                 newmonth = (double)atof(argv[1]);
00017 
00018         utInit(NULL);
00019         if(utScan(units,&dataunits) != 0)
00020         {
00021                 printf("internal error: udu_fmt_time can't parse data unit string!\n" );
00022                 printf("problematic units: \"%s\"\n", units );
00023                 exit( -1 );
00024         }
00025 
00026         if(utCalendar( newmonth, &dataunits, &year, &month, &day, &hour, &minute, &second ) != 0)
00027         {
00028                 printf("internal error: udu_fmt_time can't convert to calendar value!\n");
00029                 printf("units: >%s<\n", units );
00030                 exit( -1 );
00031         }
00032         
00033         printf("month: %d, %s-%04d\n", month,months[month-1], year );
00034         
00035         (void) utTerm();
00036 
00037         return 0;
00038 }

Generated on 12 May 2016 for DSCLIM by  doxygen 1.6.1