17#if defined(__xtd__cpp_lib_format)
215 template<
class clock_t,
class duration_t = clock_t::duration>
216 date_time(
const std::chrono::time_point<clock_t, duration_t>& time_point) {
217 using namespace std::chrono;
218 *
this =
from_time_t(system_clock::to_time_t(system_clock::now() + duration_cast<system_clock::duration>(time_point - clock_t::now())),
date_time_kind::local);
216 date_time(
const std::chrono::time_point<clock_t, duration_t>& time_point) {
…}
225 template<
class clock_t,
class duration_t = clock_t::duration>
227 using namespace std::chrono;
228 *
this =
from_time_t(system_clock::to_time_t(system_clock::now() + duration_cast<system_clock::duration>(time_point - clock_t::now())),
kind);
643 bool equals(const
object& obj) const noexcept override;
1163 friend class time_zone_info;
1177#if defined(__xtd__cpp_lib_format)
1179struct std::formatter<xtd::date_time> : std::formatter<std::string> {
1180 template<class format_context_t>
1181 constexpr auto parse(format_context_t& ctx) {
1182 auto iterator = ctx.begin();
1183 for (; iterator != ctx.end() && *iterator != '}'; ++iterator)
1184 format_value += *iterator;
1188 template<class object_t, class format_context_t>
1189 auto format(const object_t& obj, format_context_t& ctx) const {return std::format_to(ctx.out(), "{}", std::string {obj.to_string(format_value)});}
1192 std::string format_value;
Contains std::chrono::days, std::chrono::weeks, std::chrono::months and std::chrono::years duration t...
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition array.hpp:61
Represents an instant in time, typically expressed as a date and time of day.
Definition date_time.hpp:85
xtd::string to_string() const noexcept override
Converts the value of the current xtd::date_time object to its equivalent string representation using...
date_time(uint32 year, uint32 month, uint32 day, uint32 hour, uint32 minute, uint32 second, uint32 millisecond, date_time_kind kind)
Initializes a new instance of the xtd::date_time structure to the specified year, month,...
date_time add_milliseconds(double value) const
Returns a new xtd::date_time that adds the specified number of milliseconds to the value of this inst...
date_time add_hours(double value) const
Returns a new xtd::date_time that adds the specified number of hours to the value of this instance.
static date_time utc_now() noexcept
Gets a xtd::date_time object that is set to the current date and time on this computer,...
int64 ticks() const noexcept
Gets the number of ticks that represent the date and time of this instance.
static const date_time min_value
Represents the smallest possible value of xtd::date_time. This field is read-only.
Definition date_time.hpp:107
date_time(int64 ticks)
Initializes a new instance of the xtd::date_time structure to a specified number of ticks.
date_time add_ticks(int64 value) const
Returns a new xtd::date_time that adds the specified number of ticks to the value of this instance.
const xtd::string to_short_time_string() const
Converts the value of the current xtd::date_time object to its equivalent short time string represent...
date_time date() const noexcept
Gets the date component of this instance.
static date_time from_tm(const std::tm &value)
Converts the specified std::tm to an equivalent unspecified time.
const xtd::string to_long_date_string() const
Converts the value of the current xtd::date_time object to its equivalent long date string representa...
const xtd::string to_short_date_string() const
Converts the value of the current xtd::date_time object to its equivalent short date string represent...
std::time_t to_time_t() const
Converts the value of the current xtd::date_time object to std::time_t.
date_time(xtd::ticks ticks, xtd::date_time_kind kind)
Initializes a new instance of the xtd::date_time structure to a specified number of ticks and to Coor...
uint32 day_of_year() const noexcept
Gets the day of the year represented by this instance.
static int32 days_in_month(uint32 year, month_of_year month)
Returns the number of days in the specified month and year.
date_time add_seconds(double value) const
Returns a new xtd::date_time that adds the specified number of seconds to the value of this instance.
date_time add_years(int32 value) const
Returns a new xtd::date_time that adds the specified number of years to the value of this instance.
int64 to_file_time_utc() const
Converts the value of the current xtd::date_time object to a Windows file time.
date_time(uint32 year, uint32 month, uint32 day)
Initializes a new instance of the xtd::date_time structure to the specified year, month,...
static date_time from_file_time(int64 file_time)
Converts the specified Windows file time to an equivalent local time.
uint32 minute() const noexcept
Gets the minute component of the date represented by this instance.
static xtd::string sprintf(const string &format, const date_time &value)
Returns a xtd::string that represents the current xtd::date_time.
static date_time from_duration(const time_span &value)
Converts the specified xtd::time_span to an equivalent unspecified time.
static date_time today() noexcept
Gets the current date.
static date_time parse(const xtd::string &s)
Converts the string representation of a date and time to its xtd::date_time equivalent by using the c...
date_time to_universal_time() const
Converts the value of the current xtd::date_time object to Coordinated Universal Time (UTC).
int64 to_binary() const
Serializes the current xtd::date_time object to a 64-bit binary value that subsequently can be used t...
date_time(const std::chrono::time_point< clock_t, duration_t > &time_point, date_time_kind kind)
Initializes a new instance of the xtd::date_time structure to a specified time point,...
Definition date_time.hpp:226
uint32 day() const noexcept
Gets the day of the month represented by this instance.
xtd::ticks ticks_duration() const noexcept
Gets the number of ticks that represent the date and time of this instance.
date_time add(const xtd::time_span &value) const
Returns a new xtd::date_time that adds the value of the specified xtd::time_span to the value of this...
date_time(int64 ticks, xtd::date_time_kind kind)
Initializes a new instance of the xtd::date_time structure to a specified number of ticks and to Coor...
date_time add_minutes(double value) const
Returns a new xtd::date_time that adds the specified number of minutes to the value of this instance.
date_time(uint32 year, uint32 month, uint32 day, uint32 hour, uint32 minute, uint32 second, date_time_kind kind)
Initializes a new instance of the xtd::date_time structure to the specified year, month,...
date_time add_days(double value) const
Returns a new xtd::date_time that adds the specified number of days to the value of this instance.
int32 compare_to(const date_time &value) const noexcept override
Compares the current instance with another object of the same type.
uint32 month() const noexcept
Gets the month component of the date represented by this instance.
static date_time from_file_time_utc(int64 file_time)
Converts the specified Windows file time to an equivalent UTC time.
static date_time from_time_t(std::time_t value)
Converts the specified std::time_t to an equivalent unspecified time.
date_time(xtd::ticks ticks)
Initializes a new instance of the xtd::date_time structure to a specified number of ticks.
xtd::day_of_week day_of_week() const noexcept
Gets the day of the week represented by this instance.
date_time to_local_time() const
Converts the value of the current xtd::date_time object to local time.
date_time()=default
Initializes a new instance of the xtd::date_time structure.
bool is_daylight_saving_time() const noexcept
Indicates whether this instance of xtd::date_time is within the daylight saving time range for the cu...
uint32 year() const noexcept
Gets the year component of the date represented by this instance.
uint32 millisecond() const noexcept
Gets the milliseconds component of the date represented by this instance.
static bool is_leap_year(uint32 year)
Returns an indication whether the specified year is a leap year.
date_time(uint32 year, uint32 month, uint32 day, uint32 hour, uint32 minute, uint32 second, uint32 millisecond)
Initializes a new instance of the xtd::date_time structure to the specified year, month,...
xtd::time_span subtract(const date_time &value) const
Returns a new xtd::time_span that subtracts the specified date and time from the value of this instan...
xtd::time_span time_of_day() const noexcept
Gets the time of day for this instance.
date_time(const std::chrono::time_point< clock_t, duration_t > &time_point)
Initializes a new instance of the xtd::date_time structure to a specified time point.
Definition date_time.hpp:216
static bool try_parse(const string &s, date_time &result) noexcept
Converts the specified string representation of a date and time to its xtd::date_time equivalent and ...
int64 to_file_time() const
Converts the value of the current xtd::date_time object to a Windows file time.
std::tm to_tm() const
Converts the value of the current xtd::date_time object to std::tm.
xtd::size get_hash_code() const noexcept override
Serves as a hash function for a particular type.
date_time_kind kind() const noexcept
Gets a value that indicates whether the time represented by this instance is based on local time,...
static date_time from_binary(int64 date_data)
Deserializes a 64-bit binary value and recreates an original serialized xtd::date_time object.
date_time(uint32 year, uint32 month, uint32 day, uint32 hour, uint32 minute, uint32 second)
Initializes a new instance of the xttd::date_time structure to the specified year,...
const xtd::string to_long_time_string() const
Converts the value of the current xtd::date_time object to its equivalent long time string representa...
static date_time now() noexcept
Gets a xtd::date_time object that is set to the current date and time on this computer,...
static date_time specify_kind(const date_time &value, date_time_kind kind)
Creates a new xtd::date_time object that has the same number of ticks as the specified xtd::date_time...
uint32 second() const noexcept
Gets the seconds component of the date represented by this instance.
bool equals(const object &obj) const noexcept override
Determines whether the specified object is equal to the current object.
date_time add_months(int32 months) const
Returns a new xtd::date_time that adds the specified number of months to the value of this instance.
uint32 hour() const noexcept
Gets the hour component of the date represented by this instance.
static const date_time max_value
Represents the largest possible value of xtd::date_time. This field is read-only.
Definition date_time.hpp:97
array< string > get_date_time_formats() const noexcept
Converts the value of this instance to all the string representations supported by the standard date ...
Defines a generalized comparison method that a value type or class implements to create a type-specif...
Definition icomparable.hpp:21
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.hpp:22
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.hpp:44
Represents a time interval.
Definition time_span.hpp:29
Represents any time zone in the world.
Definition time_zone_info.hpp:39
Contains xtd::date_time_kind enum class.
Contains xtd::day_of_week enum class.
#define core_export_
Define shared library export.
Definition core_export.hpp:13
size_t size
Represents a size of any object in bytes.
Definition size.hpp:23
int32_t int32
Represents a 32-bit signed integer.
Definition int32.hpp:23
int64_t int64
Represents a 64-bit signed integer.
Definition int64.hpp:23
uint32_t uint32
Represents a 32-bit unsigned integer.
Definition uint32.hpp:23
std::chrono::duration< int64, tick > ticks
Represents a tick duration.
Definition ticks.hpp:21
date_time_kind
Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC),...
Definition date_time_kind.hpp:21
month_of_year
Specifies the month of the year.
Definition month_of_year.hpp:21
@ unspecified
The time represented is not specified as either local time or Coordinated Universal Time (UTC).
Definition date_time_kind.hpp:23
@ local
The time represented is local time.
Definition date_time_kind.hpp:27
@ other
The operating system is other.
Definition platform_id.hpp:58
@ s
The S key.
Definition console_key.hpp:124
Contains xtd::icomparable interface.
Contains xtd::iequatable interface.
Contains xtd::month_of_year enum class.
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
Contains xtd::object class.
Contains xtd::string alias.
Contains xtd::ticks typedef.
Contains xtd::time_span class.