diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/local_time.cc | 10 | ||||
| -rw-r--r-- | src/local_time.h | 7 |
2 files changed, 12 insertions, 5 deletions
diff --git a/src/local_time.cc b/src/local_time.cc index 401bd9d7..5030500e 100644 --- a/src/local_time.cc +++ b/src/local_time.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2014 Carl Hetherington <cth@carlh.net> + Copyright (C) 2014-2019 Carl Hetherington <cth@carlh.net> This file is part of libdcp. @@ -81,7 +81,10 @@ LocalTime::LocalTime (boost::posix_time::ptime t) set_local_time_zone (); } -/** Construct a LocalTime from a boost::posix_time::ptime and a time zone offset */ +/** Construct a LocalTime from a boost::posix_time::ptime and a time zone offset. + * @param tz_minute Offset from UTC in minutes; if the timezone is behind UTC this may be negative, + * e.g. -04:30 would have tz_hour=-1 and tz_minute=-30. + */ LocalTime::LocalTime (boost::posix_time::ptime t, int tz_hour, int tz_minute) { _year = t.date().year (); @@ -163,6 +166,7 @@ LocalTime::LocalTime (string s) if (with_tz && s[tz_pos] == '-') { _tz_hour = -_tz_hour; + _tz_minute = -_tz_minute; } } @@ -174,7 +178,7 @@ LocalTime::as_string (bool with_millisecond) const snprintf ( buffer, sizeof (buffer), "%sT%s%s%02d:%02d", - date().c_str(), time_of_day(true, with_millisecond).c_str(), (_tz_hour >= 0 ? "+" : "-"), abs (_tz_hour), _tz_minute + date().c_str(), time_of_day(true, with_millisecond).c_str(), (_tz_hour >= 0 ? "+" : "-"), abs (_tz_hour), abs(_tz_minute) ); return buffer; } diff --git a/src/local_time.h b/src/local_time.h index ad55ad5a..20658eb4 100644 --- a/src/local_time.h +++ b/src/local_time.h @@ -84,8 +84,11 @@ private: int _second; ///< second number of the minute (0-59) int _millisecond; ///< millisecond number of the second (0-999) - int _tz_hour; ///< hours by which this time is offset from UTC - int _tz_minute; ///< minutes by which this time is offset from UTC + int _tz_hour; ///< hours by which this time is offset from UTC; can be negative + /** Minutes by which this time is offset from UTC; if _tz_hour is negative + * this will be either 0 or negative. + */ + int _tz_minute; }; std::ostream& |
