System::DateTime 类

DateTime class

表示时间连续体上的特定日期和时间值。此类型应在栈上分配,并通过值或引用传递给函数。切勿使用 System::SmartPtr 类来管理此类型的对象。

class DateTime

方法

方法描述
Add(TimeSpan) const返回一个新的 DateTime 类实例,表示将指定的时间跨度添加到当前对象所表示的日期和时间值后得到的日期和时间值。
AddDays(double) const返回一个新的 DateTime 类实例,表示当前对象所表示的值与指定天数之和的日期和时间值。
AddHours(double) const返回一个新的 DateTime 类实例,表示当前对象所表示的值与指定小时数之和的日期和时间值。
AddMilliseconds(double) const返回一个新的 DateTime 类实例,表示当前对象所表示的值与指定毫秒数之和的日期和时间值。
AddMinutes(double) const返回一个新的 DateTime 类实例,表示当前对象所表示的值与指定分钟数之和的日期和时间值。
AddMonths(int) const返回一个新的 DateTime 类实例,表示当前对象所表示的值与指定月数之和的日期和时间值。
AddSeconds(double) const返回一个新的 DateTime 类实例,表示当前对象所表示的值与指定秒数之和的日期和时间值。
AddTicks(int64_t) const返回一个新的 DateTime 类实例,表示当前对象所表示的值与指定的 100 纳秒间隔之和的日期和时间值。
AddYears(int) const返回一个新的 DateTime 类实例,表示在当前对象所表示的日期和时间值的年份组件增加指定数量后的日期和时间值。
static Compare(DateTime, DateTime)比较由指定的 DateTime 类实例表示的两个值,并返回指示这些值在时间线上的相对位置的值。
CompareTo(DateTime) const比较当前对象与指定的 DateTime 类实例所表示的两个日期时间值,并返回指示这些值在时间线上的相对位置的值。
DateTime()构造一个实例,表示等于 MinValue 的最小可能的日期和时间值。
DateTime(int, int, int)构造一个实例,该实例表示指定为特定年份、月份和日期的日期时间值。
DateTime(int, int, int, const SharedPtr<Globalization::Calendar>&)构造一个实例,该实例表示在指定日历中指定为特定年份、月份和日期的日期时间值。
DateTime(int, int, int, int, int, int)构造一个实例,该实例表示指定为特定年份、月份、日期、小时、分钟和秒的日期时间值。
DateTime(int, int, int, int, int, int, DateTimeKind)构造一个实例,该实例表示指定为特定年份、月份、日期、小时、分钟和秒的日期时间值。
DateTime(int, int, int, int, int, int, const SharedPtr<Globalization::Calendar>&)构造一个实例,该实例表示在指定日历中指定为特定年份、月份、日期、小时、分钟和秒的日期时间值。
DateTime(int, int, int, int, int, int, int, DateTimeKind)构造一个实例,该实例表示指定为特定年份、月份、日期、小时、分钟、秒和毫秒的日期时间值。
DateTime(int, int, int, int, int, int, int, const SharedPtr<Globalization::Calendar>&, DateTimeKind)构造一个实例,该实例表示在指定日历中指定为特定年份、月份、日期、小时、分钟、秒和毫秒的日期时间值。
DateTime(int64_t, DateTimeKind)构造一个实例,该实例表示以滴答数指定的日期时间值。
DateTime(int64_t, DateTimeKind, bool)构造一个实例,该实例表示以滴答数指定的日期时间值。供内部使用。
DateTime(const DateTime&)复制构造一个实例。
static DaysInMonth(int, int)返回指定年份中指定月份的天数。
static Equals(DateTime, DateTime)确定指定的 DateTime 类实例是否表示相同的日期时间值。
Equals(DateTime) const确定指定的 DateTime 类实例是否表示与当前对象相同的日期时间值。
static FromBinary(int64_t)从指定的无符号 64 位整数反序列化日期时间值,并将新的 DateTime 类实例设置为该值。
static FromFileTime(int64_t)将指定的文件时间转换为表示本地时间相同日期时间值的 DateTime 类实例。
static FromFileTimeUtc(int64_t)将指定的文件时间转换为表示 UTC 时间相同日期时间值的 DateTime 类实例。
static FromOADate(double)返回一个表示等同于指定 OLE Automation 日期的日期时间值的 DateTime 类实例。
static FromUnixTime(time_t)将指定的 Unix 时间值转换为 DateTime 类实例。供内部使用。
get_Date() const返回一个新的 DateTime 类实例,该实例表示当前对象所表示的日期时间的日期部分,并将时间部分的每个组件设为 0。
get_Day() const返回当前对象所表示的月份中日期的序号。
get_DayOfWeek() const返回一个表示当前对象所表示的星期几的值。
get_DayOfYear() const返回当前对象所表示的年份中日期的序号。
get_Hour() const返回当前对象所表示的日期时间值的小时组件。
get_Kind() const返回一个值,表示当前对象所表示的日期时间是本地时间、UTC 时间还是两者都不是。
get_Millisecond() const返回当前对象所表示的日期时间值的毫秒组件。
get_Minute() const返回当前对象所表示的日期时间值的分钟组件。
get_Month() const返回当前对象所表示的年份中月份的序数。
static get_Now()返回一个表示本地时间的 DateTime 类实例。
get_Second() const返回当前对象所表示的日期时间值的秒组件。
get_Ticks() const返回自公元 0001 年 1 月 1 日 0:00:00 UTC(格里历)起至当前对象所表示的日期时间之间经过的 100 纳秒间隔数。
get_TimeOfDay() const返回表示从当前对象所表示的当天起始时刻到该对象所表示的日期时间之间的时间间隔的值。
static get_Today()返回一个 DateTime 类实例,该实例表示当前日期,且时间部分的各组件均设为 0。
static get_UtcNow()返回一个表示当前 UTC 时间的 DateTime 类实例。
get_Year() const返回当前对象所表示的年份。
GetDateComponents(int&, int&, int&) const获取日期部分。仅供内部使用。
GetDateTimeFormats() const返回字符串数组,其中每个元素是使用标准日期时间格式说明符之一格式化当前对象后的字符串表示。
GetDateTimeFormats(char_t) const返回字符串数组,其中每个元素是使用指定的标准日期时间格式说明符格式化当前对象后的字符串表示。
GetDateTimeFormats(const SharedPtr<IFormatProvider>&) const返回字符串数组,其中每个元素是使用标准日期时间格式说明符之一和指定的格式提供程序格式化当前对象后的字符串表示。
GetDateTimeFormats(char_t, const SharedPtr<IFormatProvider>&) const返回字符串数组,其中每个元素是使用指定的标准日期时间格式说明符和格式提供程序格式化当前对象后的字符串表示。
GetHashCode() const返回当前对象的哈希码。
IsDaylightSavingTime() const确定当前对象所表示的日期时间值是否位于当前时区的夏令时范围内。
static IsLeapYear(int)确定指定的年份是否为闰年。
IsNull() const
operator!=(DateTime) const确定当前对象与指定的 DateTime 对象是否表示不同的日期时间值。
operator!=(std::nullptr_t) const
operator+(TimeSpan) const返回一个新的 DateTime 类实例,该实例表示当前对象的值与指定时间跨度之和的日期时间值。
operator+=(TimeSpan)将当前对象设置为当前对象的值与指定时间跨度之和的日期时间值。
operator-(TimeSpan) const返回一个新的 DateTime 类实例,表示从当前对象的值中减去指定时间跨度后的日期时间值。
operator-(DateTime) const返回一个 TimeSpan 类的实例,表示当前对象和指定对象所表示的日期时间值之间的时间间隔。
operator-=(TimeSpan)将当前对象设置为从当前对象的日期时间值中减去指定时间跨度后的结果。
operator<(DateTime) const确定当前对象表示的日期时间值是否早于指定的 DateTime 对象所表示的值。
operator<(std::nullptr_t) const
operator<=(DateTime) const确定当前对象表示的日期时间值是否早于或等于指定的 DateTime 对象所表示的值。
operator<=(std::nullptr_t) const
operator=(const DateTime&)将指定的 DateTime 实例所表示的值赋给当前对象。
operator==(DateTime) const确定当前对象与指定的 DateTime 对象是否表示相同的日期时间值。
operator==(std::nullptr_t) const
operator>(DateTime) const确定当前对象表示的日期时间值是否晚于指定的 DateTime 对象所表示的值。
operator>(std::nullptr_t) const
operator>=(DateTime) const确定当前对象表示的日期和时间值是否晚于或等于指定的 DateTime 对象所表示的值。
operator>=(std::nullptr_t) const
static Parse(const String&)将指定的日期和时间值的字符串表示转换为等效的 DateTime 对象。
static Parse(const String&, const SharedPtr<IFormatProvider>&, Globalization::DateTimeStyles)使用特定于文化的格式信息,将指定的日期和时间值的字符串表示转换为等效的 DateTime 对象。
static Parse(const String&, const SharedPtr<Globalization::CultureInfo>&, Globalization::DateTimeStyles)
static Parse(const String&, const SharedPtr<Globalization::DateTimeFormatInfo>&, Globalization::DateTimeStyles)
static Parse(const String&, std::nullptr_t, Globalization::DateTimeStyles)
static ParseExact(const String&, const String&, const SharedPtr<IFormatProvider>&, Globalization::DateTimeStyles)使用指定的格式和特定于文化的格式信息,将指定的日期和时间值的字符串表示转换为等效的 DateTime 对象。字符串表示的格式必须完全匹配指定的格式。如果转换失败,将抛出异常。
static ParseExact(const String&, const String&, const SharedPtr<Globalization::CultureInfo>&, Globalization::DateTimeStyles)
static ParseExact(const String&, const String&, const SharedPtr<Globalization::DateTimeFormatInfo>&, Globalization::DateTimeStyles)
static ParseExact(const String&, const String&, std::nullptr_t, Globalization::DateTimeStyles)
static ParseExact(const String&, const ArrayPtr<String>&, const SharedPtr<IFormatProvider>&, Globalization::DateTimeStyles)使用指定的格式集合、特定于文化的格式信息和样式,将指定的日期和时间值的字符串表示转换为等效的 DateTime 对象。字符串表示的格式必须完全匹配一个或多个指定的格式。如果转换失败,将抛出异常。
static ParseExact(const String&, const ArrayPtr<String>&, const SharedPtr<Globalization::CultureInfo>&, Globalization::DateTimeStyles)
static ParseExact(const String&, const ArrayPtr<String>&, const SharedPtr<Globalization::DateTimeFormatInfo>&, Globalization::DateTimeStyles)
static ParseExact(const String&, const ArrayPtr<String>&, std::nullptr_t, Globalization::DateTimeStyles)
static SpecifyKind(DateTime, DateTimeKind)构造一个新的 DateTime 对象,该对象表示与指定的 DateTime 对象相同的刻度数,并根据参数 kind 指定为本地时间、UTC 时间或两者皆非。
Subtract(TimeSpan) const返回一个新的 DateTime 类实例,表示从当前对象的值中减去指定时间跨度后的日期时间值。
Subtract(DateTime) const返回一个 TimeSpan 类的实例,表示当前对象和指定对象所表示的日期时间值之间的时间间隔。
ToBinary() const序列化当前对象。
ToFileTime() const返回一个值,表示当前对象所表示的日期时间值的文件时间(File time)。
ToFileTimeUtc() const将当前对象所表示的日期时间值转换为 UTC 文件时间(File time UTC)。
ToLocalTime() const返回一个新的 DateTime 类实例,表示当前对象所表示的日期时间值的本地时间。
ToLongDateString() const返回一个字符串,包含当前对象的长日期字符串表示。
ToLongTimeString() const返回一个字符串,包含当前对象的长时间字符串表示。
ToOADate() const返回当前对象所表示的日期时间值,作为 OLE Automation 日期。
ToShortDateString() const返回一个字符串,包含当前对象的短日期字符串表示。
ToShortTimeString() const返回一个字符串,包含当前对象的短时间字符串表示。
ToString() const返回当前对象所表示的日期时间值的字符串表示,使用当前文化定义的格式约定。
ToString(const String&) const返回当前对象所表示的日期时间值的字符串表示,使用指定的格式以及当前文化定义的格式约定。
ToString(const SharedPtr<IFormatProvider>&) const返回当前对象所表示的日期时间值的字符串表示,使用指定的格式信息。
ToString(const SharedPtr<Globalization::CultureInfo>&) const
ToString(const SharedPtr<Globalization::DateTimeFormatInfo>&) const
ToString(std::nullptr_t) const
ToString(const String&, const SharedPtr<IFormatProvider>&) const返回当前对象所表示的日期时间值的字符串表示,使用指定的格式信息。
ToString(const String&, const SharedPtr<Globalization::CultureInfo>&) const
ToString(const String&, const SharedPtr<Globalization::DateTimeFormatInfo>&) const
ToString(const String&, std::nullptr_t) const
ToUniversalTime() const返回一个新的 DateTime 类实例,表示当前对象所表示的日期时间值的 UTC 时间。
ToUnixTime() const返回一个值,表示当前对象所表示的日期时间值的 Unix 时间。仅供内部使用。
static TryParse(const String&, DateTime&)将指定的日期和时间值的字符串表示转换为等效的 DateTime 对象。
static TryParse(const String&, const SharedPtr<IFormatProvider>&, Globalization::DateTimeStyles, DateTime&)使用指定的特定于文化的格式信息和样式,将指定的日期和时间值的字符串表示转换为等效的 DateTime 对象。
static TryParse(const String&, const SharedPtr<Globalization::CultureInfo>&, Globalization::DateTimeStyles, DateTime&)
static TryParse(const String&, const SharedPtr<Globalization::DateTimeFormatInfo>&, Globalization::DateTimeStyles, DateTime&)
static TryParse(const String&, std::nullptr_t, Globalization::DateTimeStyles, DateTime&)
static TryParseExact(const String&, const String&, const SharedPtr<IFormatProvider>&, Globalization::DateTimeStyles, DateTime&)使用指定的格式、特定于文化的格式信息和样式,将指定的日期和时间值的字符串表示转换为等效的 DateTime 对象。字符串表示的格式必须完全匹配指定的格式。
static TryParseExact(const String&, const String&, const SharedPtr<Globalization::CultureInfo>&, Globalization::DateTimeStyles, DateTime&)
static TryParseExact(const String&, const String&, const SharedPtr<Globalization::DateTimeFormatInfo>&, Globalization::DateTimeStyles, DateTime&)
static TryParseExact(const String&, const String&, std::nullptr_t, Globalization::DateTimeStyles, DateTime&)
static TryParseExact(const String&, const ArrayPtr<String>&, const SharedPtr<IFormatProvider>&, Globalization::DateTimeStyles, DateTime&)使用指定的格式集合、特定于文化的格式信息和样式,将指定的日期和时间值的字符串表示转换为等效的 DateTime 对象。字符串表示的格式必须完全匹配一个或多个指定的格式。
static TryParseExact(const String&, const ArrayPtr<String>&, const SharedPtr<Globalization::CultureInfo>&, Globalization::DateTimeStyles, DateTime&)
static TryParseExact(const String&, const ArrayPtr<String>&, const SharedPtr<Globalization::DateTimeFormatInfo>&, Globalization::DateTimeStyles, DateTime&)
static TryParseExact(const String&, const ArrayPtr<String>&, std::nullptr_t, Globalization::DateTimeStyles, DateTime&)
static Type()返回一个 TypeInfo 对象,其中包含关于此类的信息。

字段

字段描述
static constexpr MaxTicks在最小可能值和最大可能值的 DateTime 值之间的时间间隔中,100 纳秒的计数。
static MaxValue表示最大可能日期和时间值的 DateTime 类实例。
static constexpr MinTicksDateTime 类实例能够表示的最小刻度数。
static MinValue表示最小可能日期和时间值的 DateTime 类实例。
static constexpr TicksPerDay一天中的刻度数。
static constexpr TicksPerHour一小时中的刻度数。
static constexpr TicksPerMicrosecond一微秒中的刻度数。
static constexpr TicksPerMillisecond一毫秒中的刻度数。
static constexpr TicksPerMinute一分钟中的刻度数。
static constexpr TicksPerSecond一秒中的刻度数。
static UnixEpoch表示 Unix 纪元起始时间 (1970.01.01 00:00:00) 的 DateTime 类实例。

备注

#include "system/console.h"
#include "system/date_time.h"

int main()
{
  using namespace System;

  // 创建 'DateTime' 类实例。
  DateTime dateTime{1990, 10, 30};

  // 以多种格式打印该实例。
  Console::WriteLine(dateTime.ToShortDateString());
  Console::WriteLine(dateTime.ToShortTimeString());
  Console::WriteLine(dateTime.ToString());

  return 0;
}
/*
This code example produces the following output:
30.10.1990
0:00
30.10.1990 0:00:00
*/

另见