xtd 0.2.0
Loading...
Searching...
No Matches
xtd::time_span Struct Reference
Inheritance diagram for xtd::time_span:
xtd::object xtd::iequatable< time_span > xtd::icomparable< time_span > xtd::iformatable xtd::interface xtd::equality_operators< type_t, equatable_t > xtd::interface xtd::comparison_operators< type_t, comparable_t > xtd::interface

Definition

Represents a time interval.

Namespace
xtd
Library
xtd.core
Examples
The following example instantiates a The following example instantiates a xtd::time_span object that represents the difference between two dates. It then displays the xtd::time_span object's properties. object that represents the difference between two dates. It then displays the xtd::time_span object's properties.
#include <xtd/console>
#include <xtd/startup>
#include <xtd/date_time>
#include <xtd/time_span>
using namespace xtd;
namespace uri_example {
class program {
public:
// The main entry point for the application.
static auto main() {
// Define two dates.
auto date1 = date_time {2010, 1, 1, 8, 0, 15};
auto date2 = date_time {2010, 8, 18, 13, 30, 30};
// Calculate the interval between the two dates.
time_span interval = date2 - date1;
console::write_line("{0} - {1} = {2}", date2, date1, interval.to_string());
// Display individual properties of the resulting TimeSpan object.
console::write_line(" {0,-35} {1,20}", "Value of Days Component:", interval.days());
console::write_line(" {0,-35} {1,20}", "Total Number of Days:", interval.total_days());
console::write_line(" {0,-35} {1,20}", "Value of Hours Component:", interval.hours());
console::write_line(" {0,-35} {1,20}", "Total Number of Hours:", interval.total_hours());
console::write_line(" {0,-35} {1,20}", "Value of Minutes Component:", interval.minutes());
console::write_line(" {0,-35} {1,20}", "Total Number of Minutes:", interval.total_minutes());
console::write_line(" {0,-35} {1,20:N0}", "Value of Seconds Component:", interval.seconds());
console::write_line(" {0,-35} {1,20:N0}", "Total Number of Seconds:", interval.total_seconds());
console::write_line(" {0,-35} {1,20:N0}", "Value of Milliseconds Component:", interval.milliseconds());
console::write_line(" {0,-35} {1,20:N0}", "Total Number of Milliseconds:", interval.total_milliseconds());
console::write_line(" {0,-35} {1,20:N0}", "Ticks:", interval.ticks());
}
};
}
startup_(uri_example::program::main);
// This code produces the following output :
//
// Wed Aug 18 13:30:30 2010 - Fri Jan 1 08:00:15 2010 = 229.05:30:15
// Value of Days Component: 229
// Total Number of Days: 229.229340277778
// Value of Hours Component: 5
// Total Number of Hours: 5501.50416666667
// Value of Minutes Component: 30
// Total Number of Minutes: 330090.25
// Value of Seconds Component: 15
// Total Number of Seconds: 19,805,415
// Value of Milliseconds Component: 0
// Total Number of Milliseconds: 19,805,415,000
// Ticks: 198,054,150,000,000
Represents an instant in time, typically expressed as a date and time of day.
Definition date_time.h:85
#define startup_(main_method)
Defines the entry point to be called when the application loads. Generally this is set either to the ...
Definition startup.h:175
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10
double total_milliseconds() const noexcept
Gets the value of the current xtd::time_span structure expressed in whole and fractional milliseconds...
int32 milliseconds() const noexcept
Gets the milliseconds component of the time interval represented by the current xtd::time_span struct...
double total_seconds() const noexcept
Gets the value of the current xtd::time_span structure expressed in whole and fractional seconds.
double total_days() const noexcept
Gets the value of the current xtd::time_span structure expressed in whole and fractional days.
xtd::string to_string() const noexcept override
Returns a xtd::string that represents the current object.
int32 days() const noexcept
Gets the days component of the time interval represented by the current xtd::time_span structure.
int32 seconds() const noexcept
Gets the seconds component of the time interval represented by the current xtd::time_span structure.
int32 minutes() const noexcept
Gets the minutes component of the time interval represented by the current xtd::time_span structure.
int64 ticks() const noexcept
Gets the number of ticks that represent the value of the current xtd::time_span structure.
double total_hours() const noexcept
Gets the value of the current xtd::time_span structure expressed in whole and fractional hours.
double total_minutes() const noexcept
Gets the value of the current xtd::time_span structure expressed in whole and fractional minutes.
int32 hours() const noexcept
Gets the hours component of the time interval represented by the current xtd::time_span structure.
Represents a time interval.
Definition time_span.h:29
Examples
date_time_ticks2.cpp, graph_control.cpp, time_span.cpp, and time_span_from_hours.cpp.

Public Fields

static const time_span max_value
 Represents the maximum xtd::time_span value. This field is read-only.
 
static const time_span min_value
 Represents the minimum xtd::time_span value. This field is read-only.
 
static constexpr int64 nanoseconds_per_tick
 Represents the number of nanoseconds per tick. This field is constant.
 
static constexpr int64 ticks_per_microsecond
 Represents the number of ticks in 1 microsecond. This field is constant.
 
static constexpr int64 ticks_per_millisecond
 Represents the number of ticks in 1 millisecond. This field is constant.
 
static constexpr int64 ticks_per_second
 Represents the number of ticks in 1 second.
 
static constexpr int64 ticks_per_minute
 Represents the number of ticks in 1 minute. This field is constant.
 
static constexpr int64 ticks_per_hour
 Represents the number of ticks in 1 hour. This field is constant.
 
static constexpr int64 ticks_per_day
 Represents the number of ticks in 1 day. This field is constant.
 
static const time_span zero
 Represents the zero xtd::time_span value. This field is read-only.
 

Public Constructors

 time_span (int64 ticks)
 Initializes a new instance of the xtd::time_span structure to the specified number of ticks.
 
 time_span (xtd::ticks ticks)
 Initializes a new instance of the xtd::time_span structure to the specified number of ticks.
 
template<typename duration_t , typename period_t = std::ratio<1>>
 time_span (const std::chrono::duration< duration_t, period_t > &value)
 Initializes a new instance of the xtd::time_span structure to the specified number of ticks.
 
 time_span (int32 hours, int32 minutes, int32 seconds)
 Initializes a new instance of the xtd::time_span structure to a specified number of hours, minutes, and seconds.
 
 time_span (int32 days, int32 hours, int32 minutes, int32 seconds)
 Initializes a new instance of the xtd::time_span structure to a specified number of days, hours, minutes, and seconds.
 
 time_span (int32 days, int32 hours, int32 minutes, int32 seconds, int32 milliseconds)
 Initializes a new instance of the xtd::time_span structure to a specified number of days, hours, minutes, seconds, and millisonds.
 
 time_span (int32 days, int32 hours, int32 minutes, int32 seconds, int32 milliseconds, int32 microseconds)
 Initializes a new instance of the xtd::time_span structure to a specified number of days, hours, minutes, seconds, millisonds, and microseconds.
 
 time_span (int32 days, int32 hours, int32 minutes, int32 seconds, int32 milliseconds, int32 microseconds, int32 nanoseconds)
 Initializes a new instance of the xtd::time_span structure to a specified number of days, hours, minutes, seconds, millisonds, and microseconds.
 

Public Properties

int32 days () const noexcept
 Gets the days component of the time interval represented by the current xtd::time_span structure.
 
int32 hours () const noexcept
 Gets the hours component of the time interval represented by the current xtd::time_span structure.
 
int32 microseconds () const noexcept
 Gets the microseconds component of the time interval represented by the current xtd::time_span structure.
 
int32 milliseconds () const noexcept
 Gets the milliseconds component of the time interval represented by the current xtd::time_span structure.
 
int32 minutes () const noexcept
 Gets the minutes component of the time interval represented by the current xtd::time_span structure.
 
int32 nanoseconds () const noexcept
 Gets the nanoseconds component of the time interval represented by the current xtd::time_span structure.
 
int32 seconds () const noexcept
 Gets the seconds component of the time interval represented by the current xtd::time_span structure.
 
int64 ticks () const noexcept
 Gets the number of ticks that represent the value of the current xtd::time_span structure.
 
xtd::ticks ticks_duration () const noexcept
 Gets the number of ticks that represent the value of the current xtd::time_span structure.
 
double total_days () const noexcept
 Gets the value of the current xtd::time_span structure expressed in whole and fractional days.
 
std::chrono::days total_days_duration () const noexcept
 Gets the value of the current xtd::time_span structure expressed in whole and fractional days.
 
double total_hours () const noexcept
 Gets the value of the current xtd::time_span structure expressed in whole and fractional hours.
 
std::chrono::hours total_hours_duration () const noexcept
 Gets the value of the current xtd::time_span structure expressed in whole and fractional hours.
 
double total_microseconds () const noexcept
 Gets the value of the current xtd::time_span structure expressed in whole and fractional microseconds.
 
std::chrono::microseconds total_microseconds_duration () const noexcept
 Gets the value of the current xtd::time_span structure expressed in whole and fractional microseconds.
 
double total_milliseconds () const noexcept
 Gets the value of the current xtd::time_span structure expressed in whole and fractional milliseconds.
 
std::chrono::milliseconds total_milliseconds_duration () const noexcept
 Gets the value of the current xtd::time_span structure expressed in whole and fractional milliseconds.
 
double total_minutes () const noexcept
 Gets the value of the current xtd::time_span structure expressed in whole and fractional minutes.
 
std::chrono::minutes total_minutes_duration () const noexcept
 Gets the value of the current xtd::time_span structure expressed in whole and fractional minutes.
 
double total_nanoseconds () const noexcept
 Gets the value of the current xtd::time_span structure expressed in whole and fractional nanoseconds.
 
std::chrono::nanoseconds total_nanoseconds_duration () const noexcept
 Gets the value of the current xtd::time_span structure expressed in whole and fractional nanoseconds.
 
double total_seconds () const noexcept
 Gets the value of the current xtd::time_span structure expressed in whole and fractional seconds.
 
std::chrono::seconds total_seconds_duration () const noexcept
 Gets the value of the current xtd::time_span structure expressed in whole and fractional seconds.
 

Public Methods

time_span add (const time_span &ts) const noexcept
 Returns a new xtd::time_span object whose value is the sum of the specified xtd::time_span object and this instance.
 
int32 compare_to (const time_span &value) const noexcept override
 Compares the current instance with another object of the same type.
 
double divide (const time_span &ts) const
 Returns a double value that's the result of dividing this instance by ts.
 
time_span divide (double divisor) const
 Returns a new xtd::time_span object whose value is the result of dividing this instance by the specified divisor.
 
time_span duration () const noexcept
 Returns a new xtd::time_span object whose value is the absolute value of the current xtd::time_span object.
 
bool equals (const time_span &value) const noexcept override
 Indicates wheth er the current object is equal to another object of the same type.
 
double multiply (const time_span &ts) const noexcept
 Returns a new xtd::time_spam object which value is the result of multiplication of this instance and the specified factor.
 
time_span multiply (double factor) const noexcept
 Returns a new xtd::time_spam object which value is the result of multiplication of this instance and the specified factor.
 
time_span negate () const
 Returns a new xtd::time_spam object whose value is the negated value of this instance.
 
time_span subtract (const time_span &ts) const noexcept
 Returns a new xtd::time_span object whose value is the difference between the specified xtd::time_span object and this instance.
 
xtd::string to_string () const noexcept override
 Returns a xtd::string that represents the current object.
 
string to_string (const string &format) const
 Converts the value of the current xtd::time_span object to its equivalent string representation by using the specified format.
 
string to_string (const string &format, const std::locale &loc) const override
 Converts the value of the current xtd::time_span object to its equivalent string representation by using the specified format, and locale.
 
virtual bool equals (const object &obj) const noexcept
 Determines whether the specified object is equal to the current object.
 
static time_span parse (const string &value)
 Converts the string representation of a time interval to its xtd::time_span equivalent.
 
template<typename object_a_t , typename object_b_t >
static bool equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are considered equal.
 

Public Static Methods

static bool equals (time_span t1, time_span t2)
 Returns a value that indicates whether two specified instances of xtd::time_span are equal.
 
static time_span from_days (double value)
 Returns a xtd::time_span that represents a specified number of days, where the specification is accurate to the nearest millisecond.
 
static time_span from_days (std::chrono::days value)
 Returns a xtd::time_span that represents a specified number of days, where the specification is accurate to the nearest millisecond.
 
static time_span from_hours (double value)
 Returns a xtd::time_span that represents a specified number of hours, where the specification is accurate to the nearest millisecond.
 
static time_span from_hours (std::chrono::hours value)
 Returns a xtd::time_span that represents a specified number of hours, where the specification is accurate to the nearest millisecond.
 
static time_span from_microseconds (double value)
 Returns a xtd::time_span that represents a specified number of microseconds.
 
static time_span from_microseconds (std::chrono::microseconds value)
 Returns a xtd::time_span that represents a specified number of microseconds.
 
static time_span from_milliseconds (double value)
 Returns a xtd::time_span that represents a specified number of milliseconds.
 
static time_span from_milliseconds (std::chrono::milliseconds value)
 Returns a xtd::time_span that represents a specified number of milliseconds.
 
static time_span from_minutes (double value)
 Returns a xtd::time_span that represents a specified number of minutes, where the specification is accurate to the nearest millisecond.
 
static time_span from_minutes (std::chrono::minutes value)
 Returns a xtd::time_span that represents a specified number of minutes.
 
static time_span from_nanoseconds (double value)
 Returns a xtd::time_span that represents a specified number of nanoseconds.
 
static time_span from_nanoseconds (std::chrono::nanoseconds value)
 Returns a xtd::time_span that represents a specified number of nanoseconds.
 
static time_span from_seconds (double value)
 Returns a xtd::time_spam that represents a specified number of seconds, where the specification is accurate to the nearest millisecond.
 
static time_span from_seconds (std::chrono::seconds value)
 Returns a xtd::time_span that represents a specified number of seconds.
 
static time_span from_ticks (int64 value)
 Returns a xtd::time_spam that represents a specified time, where the specification is in units of ticks.
 
static time_span from_ticks (xtd::ticks value)
 Returns a xtd::time_span that represents a specified number of ticks.
 
static bool try_parse (const string &value, time_span &result)
 Converts the string representation of a time interval to its xtd::time_span equivalent and returns a value that indicates whether the conversion succeeded.
 

Additional Inherited Members

- Public Member Functions inherited from xtd::object
 object ()=default
 Create a new instance of the ultimate base class object.
 
virtual size_t get_hash_code () const noexcept
 Serves as a hash function for a particular type.
 
virtual type_object get_type () const noexcept
 Gets the type of the current instance.
 
template<typename object_t >
xtd::uptr< object_t > memberwise_clone () const
 Creates a shallow copy of the current object.
 
- Public Member Functions inherited from xtd::iequatable< time_span >
- Public Member Functions inherited from xtd::icomparable< time_span >
- Public Member Functions inherited from xtd::iformatable
- Static Public Member Functions inherited from xtd::object
template<typename object_a_t , typename object_b_t >
static bool equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are considered equal.
 
template<typename object_a_t , typename object_b_t >
static bool reference_equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are the same instance.
 

The documentation for this struct was generated from the following file: