[][src]Struct srtlib::Timestamp

pub struct Timestamp { /* fields omitted */ }

A simple timestamp following the timecode format hours:minutes:seconds,milliseconds.

Used within the Subtitle struct to indicate the time that the subtitle should appear on screen(start_time) and the time it should disappear(end_time). The maximum value for any given Timestamp is 255:59:59,999.

Examples

We can directly construct Timestamps from integers and they will always be displayed with the correct timecode format:

use srtlib::Timestamp;

let time = Timestamp::new(0, 0, 1, 200);
assert_eq!(time.to_string(), "00:00:01,200");

We can also, for example, construct the Timestamp by parsing a string, move it forward in time by 65 seconds and then print it in the correct format.

use srtlib::Timestamp;

let mut time = Timestamp::parse("00:01:10,314").unwrap();
time.add_seconds(65);
assert_eq!(time.to_string(), "00:02:15,314");

Implementations

impl Timestamp[src]

pub fn new(hours: u8, minutes: u8, seconds: u8, milliseconds: u16) -> Timestamp[src]

Constructs a new Timestamp from integers.

pub fn parse(s: &str) -> Result<Timestamp, ParsingError>[src]

Constructs a new Timestamp by parsing a string with the format "hours:minutes:seconds,milliseconds".

Errors

If this function encounters a string that does not follow the correct timecode format, a MalformedTimestamp error variant will be returned.

pub fn add_hours(&mut self, n: i32)[src]

Moves the timestamp n hours forward in time. Negative values may be provided in order to move the timestamp back in time.

Panics

Panics if we exceed the upper limit or go below zero.

pub fn add_minutes(&mut self, n: i32)[src]

Moves the timestamp n minutes forward in time. Negative values may be provided in order to move the timestamp back in time.

Panics

Panics if we exceed the upper limit or go below zero.

pub fn add_seconds(&mut self, n: i32)[src]

Moves the timestamp n seconds forward in time. Negative values may be provided in order to move the timestamp back in time.

Panics

Panics if we exceed the upper limit or go below zero.

pub fn add_milliseconds(&mut self, n: i32)[src]

Moves the timestamp n milliseconds forward in time. Negative values may be provided in order to move the timestamp back in time.

Panics

Panics if we exceed the upper limit or go below zero.

pub fn get(&self) -> (u8, u8, u8, u16)[src]

Returns the timestamp as a tuple of four integers (hours, minutes, seconds, milliseconds).

pub fn set(&mut self, hours: u8, minutes: u8, seconds: u8, milliseconds: u16)[src]

Changes the timestamp according to the given integer values.

Trait Implementations

impl Clone for Timestamp[src]

impl Copy for Timestamp[src]

impl Debug for Timestamp[src]

impl Display for Timestamp[src]

impl Eq for Timestamp[src]

impl Hash for Timestamp[src]

impl Ord for Timestamp[src]

impl PartialEq<Timestamp> for Timestamp[src]

impl PartialOrd<Timestamp> for Timestamp[src]

impl StructuralEq for Timestamp[src]

impl StructuralPartialEq for Timestamp[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.