1 use std::time::SystemTime;
2 use util::HttpDate;
3 
4 /// `Date` header, defined in [RFC7231](http://tools.ietf.org/html/rfc7231#section-7.1.1.2)
5 ///
6 /// The `Date` header field represents the date and time at which the
7 /// message was originated.
8 ///
9 /// ## ABNF
10 ///
11 /// ```text
12 /// Date = HTTP-date
13 /// ```
14 ///
15 /// ## Example values
16 ///
17 /// * `Tue, 15 Nov 1994 08:12:31 GMT`
18 ///
19 /// # Example
20 ///
21 /// ```
22 /// # extern crate headers;
23 /// use headers::Date;
24 /// use std::time::SystemTime;
25 ///
26 /// let date = Date::from(SystemTime::now());
27 /// ```
28 #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Header)]
29 pub struct Date(HttpDate);
30 
31 impl From<SystemTime> for Date {
from(time: SystemTime) -> Date32     fn from(time: SystemTime) -> Date {
33         Date(time.into())
34     }
35 }
36 
37 impl From<Date> for SystemTime {
from(date: Date) -> SystemTime38     fn from(date: Date) -> SystemTime {
39         date.0.into()
40     }
41 }
42