# Struct time::Tm [−] [src]

    #[repr(C)]
    pub struct Tm {
        pub tm_sec: i32,
        pub tm_min: i32,
        pub tm_hour: i32,
        pub tm_mday: i32,
        pub tm_mon: i32,
        pub tm_year: i32,
        pub tm_wday: i32,
        pub tm_yday: i32,
        pub tm_isdst: i32,
        pub tm_utcoff: i32,
        pub tm_nsec: i32,
    }

Holds a calendar date and time broken down into its components (year, month, day, and so on), also called a broken-down time value.

## Fields

`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`

Day 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]. 0 = Sunday, 1 = Monday, ..., 6 = Saturday.

`tm_yday: i32`

Days since January 1 - [0, 365]

`tm_isdst: 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_utcoff: 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_nsec: i32`

Nanoseconds after the second - [0, 109 - 1]

## Methods

### `impl Tm`
[src]

#### `fn to_timespec(&self) -> Timespec`

Convert time to the seconds from January 1, 1970

#### `fn to_local(&self) -> Tm`

Convert time to the local timezone

#### `fn to_utc(&self) -> Tm`

Convert time to the UTC

#### `fn ctime(&self) -> TmFmt`

Returns a TmFmt that outputs according to the `asctime` format in ISO C, in the local timezone.

Example: "Thu Jan 1 00:00:00 1970"

#### `fn asctime(&self) -> TmFmt`

Returns a TmFmt that outputs according to the `asctime` format in ISO C.

Example: "Thu Jan 1 00:00:00 1970"

#### `fn strftime<'a>(&'a self, format: &'a str) -> Result<TmFmt<'a>, ParseError>`

Formats the time according to the format string.

#### `fn rfc822(&self) -> TmFmt`

Returns a TmFmt that outputs according to RFC 822.

local: "Thu, 22 Mar 2012 07:53:18 PST" utc: "Thu, 22 Mar 2012 14:53:18 GMT"

#### `fn rfc822z(&self) -> TmFmt`

Returns a TmFmt that outputs according to RFC 822 with Zulu time.

local: "Thu, 22 Mar 2012 07:53:18 -0700" utc: "Thu, 22 Mar 2012 14:53:18 -0000"

#### `fn rfc3339<'a>(&'a self) -> TmFmt`

Returns a TmFmt that outputs according to RFC 3339. RFC 3339 is compatible with ISO 8601.

local: "2012-02-22T07:53:18-07:00" utc: "2012-02-22T14:53:18Z"

## Trait Implementations

### `impl Copy for Tm`
[src]

### `impl Clone for Tm`
[src]

#### `fn clone(&self) -> Tm`

Returns a copy of the value. Read more

#### `fn clone_from(&mut self, source: &Self)`
1.0.0

Performs copy-assignment from `source`. Read more

### `impl PartialEq for Tm`
[src]

#### `fn eq(&self, __arg_0: &Tm) -> bool`

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, __arg_0: &Tm) -> bool`

This method tests for `!=`.

### `impl Eq for Tm`
[src]

### `impl Debug for Tm`
[src]

#### `fn fmt(&self, __arg_0: &mut Formatter) -> Result`

Formats the value using the given formatter.

### `impl Hash for Tm`
[src]

#### `fn hash<__H: Hasher>(&self, __arg_0: &mut __H)`

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,`
1.3.0

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl Add<Duration> for Tm`
[src]

#### `type Output = Tm`

The resulting type after applying the `+` operator

#### `fn add(self, other: Duration) -> Tm`

The resulting Tm is in UTC.

### `impl Sub<Duration> for Tm`
[src]

#### `type Output = Tm`

The resulting type after applying the `-` operator

#### `fn sub(self, other: Duration) -> Tm`

The resulting Tm is in UTC.

### `impl Sub<Tm> for Tm`
[src]

#### `type Output = Duration`

The resulting type after applying the `-` operator

#### `fn sub(self, other: Tm) -> Duration`

The method for the `-` operator

### `impl PartialOrd for Tm`
[src]

#### `fn partial_cmp(&self, other: &Tm) -> Option<Ordering>`

This method returns an ordering between `self` and `other` values if one exists. Read more

#### `fn lt(&self, other: &Rhs) -> bool`
1.0.0

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more

#### `fn le(&self, other: &Rhs) -> bool`
1.0.0

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more

#### `fn gt(&self, other: &Rhs) -> bool`
1.0.0

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more

#### `fn ge(&self, other: &Rhs) -> bool`
1.0.0

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more

### `impl Ord for Tm`
[src]

#### `fn cmp(&self, other: &Tm) -> Ordering`

This method returns an `Ordering` between `self` and `other`. Read more

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)