pub struct Timestamp { /* private fields */ }
Expand description
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§
Source§impl Timestamp
impl Timestamp
Sourcepub const MAX_TIMESTAMP_MILLIS: u32 = 921_599_999u32
pub const MAX_TIMESTAMP_MILLIS: u32 = 921_599_999u32
The maximum value for any given Timestamp.
Sourcepub fn convert_to_milliseconds(
hours: u8,
minutes: u8,
seconds: u8,
milliseconds: u16,
) -> u32
pub fn convert_to_milliseconds( hours: u8, minutes: u8, seconds: u8, milliseconds: u16, ) -> u32
Converts hours, minutes, seconds and milliseconds to milliseconds.
Sourcepub fn new(hours: u8, minutes: u8, seconds: u8, milliseconds: u16) -> Timestamp
pub fn new(hours: u8, minutes: u8, seconds: u8, milliseconds: u16) -> Timestamp
Constructs a new Timestamp from integers.
Sourcepub fn from_milliseconds(millis: u32) -> Timestamp
pub fn from_milliseconds(millis: u32) -> Timestamp
Constructs a new Timestamp from milliseconds.
Sourcepub fn parse(s: &str) -> Result<Timestamp, ParsingError>
pub fn parse(s: &str) -> Result<Timestamp, ParsingError>
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.
Sourcepub fn add_hours(&mut self, n: i64)
pub fn add_hours(&mut self, n: i64)
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.
Sourcepub fn add_minutes(&mut self, n: i64)
pub fn add_minutes(&mut self, n: i64)
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.
Sourcepub fn add_seconds(&mut self, n: i64)
pub fn add_seconds(&mut self, n: i64)
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.
Sourcepub fn add_milliseconds(&mut self, n: i64)
pub fn add_milliseconds(&mut self, n: i64)
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.
Sourcepub fn add(&mut self, timestamp: &Timestamp)
pub fn add(&mut self, timestamp: &Timestamp)
Moves the timestamp forward in time by an amount specified as timestamp.
§Panics
Panics if we exceed the upper limit
Sourcepub fn sub(&mut self, timestamp: &Timestamp)
pub fn sub(&mut self, timestamp: &Timestamp)
Moves the timestamp backward in time by an amount specified as timestamp.
§Panics
Panics if we go below zero