P_datetime.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. #ifndef GRASS_P_DATETIME_H
  2. #define GRASS_P_DATETIME_H
  3. /* between.c */
  4. int datetime_is_between(int x, int a, int b);
  5. /* change.c */
  6. int datetime_change_from_to(DateTime *dt, int from, int to, int round);
  7. /* copy.c */
  8. void datetime_copy(DateTime *src, const DateTime *dst);
  9. /* diff.c */
  10. int datetime_difference(const DateTime *a, const DateTime *b, DateTime *result);
  11. /* error.c */
  12. int datetime_error(int code, char *msg);
  13. int datetime_error_code(void);
  14. char *datetime_error_msg(void);
  15. void datetime_clear_error(void);
  16. /* format.c */
  17. int datetime_format(const DateTime *dt, char *buf);
  18. /* incr1.c */
  19. int datetime_increment(DateTime *src, DateTime *incr);
  20. /* incr2.c */
  21. int datetime_is_valid_increment(const DateTime *src, const DateTime *incr);
  22. int datetime_check_increment(const DateTime *src, const DateTime *incr);
  23. /* incr3.c */
  24. int datetime_get_increment_type(const DateTime *dt, int *mode, int *from, int *to, int *fracsec);
  25. int datetime_set_increment_type(const DateTime *src, DateTime *incr);
  26. /* local.c */
  27. int datetime_get_local_timezone(int *minutes);
  28. void datetime_get_local_time(DateTime *dt);
  29. /* misc.c */
  30. int datetime_days_in_month(int year, int month, int ad);
  31. int datetime_is_leap_year(int year, int ad);
  32. int datetime_days_in_year(int year, int ad);
  33. /* same.c */
  34. int datetime_is_same(const DateTime *src, const DateTime *dst);
  35. /* scan.c */
  36. int datetime_scan(DateTime *dt, const char *buf);
  37. /* sign.c */
  38. int datetime_is_positive(const DateTime *dt);
  39. int datetime_is_negative(const DateTime *dt);
  40. void datetime_set_positive(DateTime *dt);
  41. void datetime_set_negative(DateTime *dt);
  42. void datetime_invert_sign(DateTime *dt);
  43. /* type.c */
  44. int datetime_set_type(DateTime *dt, int mode, int from, int to, int fracsec);
  45. int datetime_get_type(const DateTime *dt, int *mode, int *from, int *to, int *fracsec);
  46. int datetime_is_valid_type(const DateTime *dt);
  47. int datetime_check_type(const DateTime *dt);
  48. int datetime_in_interval_year_month(int x);
  49. int datetime_in_interval_day_second(int x);
  50. int datetime_is_absolute(const DateTime *dt);
  51. int datetime_is_relative(const DateTime *dt);
  52. /* tz1.c */
  53. int datetime_check_timezone(const DateTime *dt, int minutes);
  54. int datetime_get_timezone(const DateTime *dt, int *minutes);
  55. int datetime_set_timezone(DateTime *dt, int minutes);
  56. int datetime_unset_timezone(DateTime *dt);
  57. int datetime_is_valid_timezone(int minutes);
  58. /* tz2.c */
  59. int datetime_change_timezone(DateTime *dt, int minutes);
  60. int datetime_change_to_utc(DateTime *dt);
  61. void datetime_decompose_timezone(int tz, int *hours, int *minutes);
  62. /* values.c */
  63. int datetime_check_year(const DateTime *dt, int year);
  64. int datetime_check_month(const DateTime *dt, int month);
  65. int datetime_check_day(const DateTime *dt, int day);
  66. int datetime_check_hour(const DateTime *dt, int hour);
  67. int datetime_check_minute(const DateTime *dt, int minute);
  68. int datetime_check_second(const DateTime *dt, double second);
  69. int datetime_check_fracsec(const DateTime *dt, int fracsec);
  70. int datetime_get_year(const DateTime *dt, int *year);
  71. int datetime_set_year(DateTime *dt, int year);
  72. int datetime_get_month(const DateTime *dt, int *month);
  73. int datetime_set_month(DateTime *dt, int month);
  74. int datetime_get_day(const DateTime *dt, int *day);
  75. int datetime_set_day(DateTime *dt, int day);
  76. int datetime_get_hour(const DateTime *dt, int *hour);
  77. int datetime_set_hour(DateTime *dt, int hour);
  78. int datetime_get_minute(const DateTime *dt, int *minute);
  79. int datetime_set_minute(DateTime *dt, int minute);
  80. int datetime_get_second(const DateTime *dt, double *second);
  81. int datetime_set_second(DateTime *dt, double second);
  82. int datetime_get_fracsec(const DateTime *dt, int *fracsec);
  83. int datetime_set_fracsec(DateTime *dt, int fracsec);
  84. #endif /* GRASS_P_DATETIME_H */