00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXUTIL_DATE_TIME_H
00020 #define AXUTIL_DATE_TIME_H
00021
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_env.h>
00024
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034
00041 typedef struct axutil_date_time axutil_date_time_t;
00042
00043 typedef enum
00044 {
00045 AXIS2_DATE_TIME_COMP_RES_FAILURE = -1,
00046 AXIS2_DATE_TIME_COMP_RES_UNKNOWN,
00047 AXIS2_DATE_TIME_COMP_RES_EXPIRED,
00048 AXIS2_DATE_TIME_COMP_RES_EQUAL,
00049 AXIS2_DATE_TIME_COMP_RES_NOT_EXPIRED
00050 } axutil_date_time_comp_result_t;
00051
00057 AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL
00058 axutil_date_time_create(
00059 const axutil_env_t * env);
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070 AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL
00071
00072 axutil_date_time_create_with_offset(
00073 const axutil_env_t * env,
00074 int offset);
00075
00082 AXIS2_EXTERN void AXIS2_CALL
00083 axutil_date_time_free(
00084 axutil_date_time_t * date_time,
00085 const axutil_env_t * env);
00086
00094 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00095 axutil_date_time_deserialize_time(
00096 axutil_date_time_t * date_time,
00097 const axutil_env_t * env,
00098 const axis2_char_t * time_str);
00099
00107 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00108 axutil_date_time_deserialize_date(
00109 axutil_date_time_t * date_time,
00110 const axutil_env_t * env,
00111 const axis2_char_t * date_str);
00112
00120 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00121
00122 axutil_date_time_deserialize_date_time(
00123 axutil_date_time_t * date_time,
00124 const axutil_env_t * env,
00125 const axis2_char_t * date_time_str);
00126
00139 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00140 axutil_date_time_set_date_time(
00141 axutil_date_time_t * date_time,
00142 const axutil_env_t * env,
00143 int year,
00144 int month,
00145 int date,
00146 int hour,
00147 int min,
00148 int second,
00149 int milliseconds);
00150
00157 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00158 axutil_date_time_serialize_time(
00159 axutil_date_time_t * date_time,
00160 const axutil_env_t * env);
00161
00168 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00169 axutil_date_time_serialize_date(
00170 axutil_date_time_t * date_time,
00171 const axutil_env_t * env);
00172
00179 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00180
00181 axutil_date_time_serialize_date_time(
00182 axutil_date_time_t * date_time,
00183 const axutil_env_t * env);
00184
00191 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00192 axutil_date_time_serialize_date_time_without_millisecond(
00193 axutil_date_time_t * date_time,
00194 const axutil_env_t * env);
00195
00202 AXIS2_EXTERN int AXIS2_CALL
00203 axutil_date_time_get_year(
00204 axutil_date_time_t * date_time,
00205 const axutil_env_t * env);
00206
00213 AXIS2_EXTERN int AXIS2_CALL
00214 axutil_date_time_get_month(
00215 axutil_date_time_t * date_time,
00216 const axutil_env_t * env);
00217
00224 AXIS2_EXTERN int AXIS2_CALL
00225 axutil_date_time_get_date(
00226 axutil_date_time_t * date_time,
00227 const axutil_env_t * env);
00228
00235 AXIS2_EXTERN int AXIS2_CALL
00236 axutil_date_time_get_hour(
00237 axutil_date_time_t * date_time,
00238 const axutil_env_t * env);
00239
00246 AXIS2_EXTERN int AXIS2_CALL
00247 axutil_date_time_get_minute(
00248 axutil_date_time_t * date_time,
00249 const axutil_env_t * env);
00250
00257 AXIS2_EXTERN int AXIS2_CALL
00258 axutil_date_time_get_second(
00259 axutil_date_time_t * date_time,
00260 const axutil_env_t * env);
00261
00262 AXIS2_EXTERN int AXIS2_CALL
00263 axutil_date_time_get_msec(
00264 axutil_date_time_t * date_time,
00265 const axutil_env_t * env);
00266
00277 AXIS2_EXTERN axutil_date_time_comp_result_t AXIS2_CALL
00278 axutil_date_time_compare(
00279 axutil_date_time_t * date_time,
00280 const axutil_env_t * env,
00281 axutil_date_time_t * ref);
00282
00283 AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL
00284 axutil_date_time_utc_to_local(
00285 axutil_date_time_t * date_time,
00286 const axutil_env_t * env,
00287 axis2_bool_t is_positive,
00288 int hour,
00289 int min);
00290
00291 AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL
00292 axutil_date_time_local_to_utc(
00293 axutil_date_time_t * date_time,
00294 const axutil_env_t * env);
00295
00296 AXIS2_EXTERN int AXIS2_CALL
00297 axutil_date_time_get_time_zone_hour(
00298 axutil_date_time_t * date_time,
00299 const axutil_env_t * env);
00300
00301 AXIS2_EXTERN int AXIS2_CALL
00302 axutil_date_time_get_time_zone_minute(
00303 axutil_date_time_t * date_time,
00304 const axutil_env_t * env);
00305
00306 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00307 axutil_date_time_is_time_zone_positive(
00308 axutil_date_time_t * date_time,
00309 const axutil_env_t * env);
00310
00311 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00312 axutil_date_time_set_time_zone(
00313 axutil_date_time_t * date_time,
00314 const axutil_env_t * env,
00315 axis2_bool_t is_positive,
00316 int hour,
00317 int min);
00318
00319 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00320 axutil_date_time_deserialize_date_time_with_time_zone(
00321 axutil_date_time_t * date_time,
00322 const axutil_env_t * env,
00323 const axis2_char_t * date_time_str);
00324
00325 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00326 axutil_date_time_deserialize_time_with_time_zone(
00327 axutil_date_time_t * date_time,
00328 const axutil_env_t * env,
00329 const axis2_char_t * time_str);
00330
00331 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00332 axutil_date_time_serialize_date_time_with_time_zone(
00333 axutil_date_time_t * date_time,
00334 const axutil_env_t * env);
00335
00336 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00337 axutil_date_time_serialize_time_with_time_zone(
00338 axutil_date_time_t * date_time,
00339 const axutil_env_t * env);
00340
00341 AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00342 axutil_date_time_is_utc(
00343 axutil_date_time_t * date_time,
00344 const axutil_env_t * env);
00345
00346 #ifdef __cplusplus
00347 }
00348 #endif
00349
00350 #endif