Skip to content

Document the Tm struct and fields #12940

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 17, 2014
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 43 additions & 12 deletions src/libtime/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -187,20 +187,51 @@ pub fn tzset() {
}
}

/// Holds a calendar date and time broken down into its components (year, month, day, and so on),
/// also called a broken-down time value.
#[deriving(Clone, Eq, Encodable, Decodable, Show)]
pub struct Tm {
tm_sec: i32, // seconds after the minute ~[0-60]
tm_min: i32, // minutes after the hour ~[0-59]
tm_hour: i32, // hours after midnight ~[0-23]
tm_mday: i32, // days of the month ~[1-31]
tm_mon: i32, // months since January ~[0-11]
tm_year: i32, // years since 1900
tm_wday: i32, // days since Sunday ~[0-6]
tm_yday: i32, // days since January 1 ~[0-365]
tm_isdst: i32, // Daylight Savings Time flag
tm_gmtoff: i32, // offset from UTC in seconds
tm_zone: ~str, // timezone abbreviation
tm_nsec: i32, // nanoseconds
/// Seconds after the minute – [0, 60]
tm_sec: i32,

/// Minutes after the hour – [0, 59]
tm_min: i32,

/// Hours after midnight – [0, 23]
tm_hour: i32,

/// Day of the month – [1, 31]
tm_mday: i32,

/// Months since January – [0, 11]
tm_mon: i32,

/// Years since 1900
tm_year: i32,

/// Days since Sunday – [0, 6]. 0 = Sunday, 1 = Monday, …, 6 = Saturday.
tm_wday: i32,

/// Days since January 1 – [0, 365]
tm_yday: i32,

/// Daylight Saving Time flag.
///
/// This value is positive if Daylight Saving Time is in effect, zero if Daylight Saving Time
/// is not in effect, and negative if this information is not available.
tm_isdst: i32,

/// Identifies the time zone that was used to compute this broken-down time value, including any
/// adjustment for Daylight Saving Time. This is the number of seconds east of UTC. For example,
/// for U.S. Pacific Daylight Time, the value is -7*60*60 = -25200.
tm_gmtoff: i32,

/// Abbreviated name for the time zone that was used to compute this broken-down time value.
/// For example, U.S. Pacific Daylight Time is "PDT".
tm_zone: ~str,

/// Nanoseconds after the second – [0, 10<sup>9</sup> - 1]
tm_nsec: i32,
}

pub fn empty_tm() -> Tm {
Expand Down