System::TimeSpan class

TimeSpan class

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

class TimeSpan

方法

方法描述
Add(TimeSpan) const返回一个新的 TimeSpan 类实例,表示当前对象和指定对象所表示的时间间隔之和。
static Compare(TimeSpan, TimeSpan)比较两个 TimeSpan 对象。
CompareTo(TimeSpan) const比较当前对象和指定对象。
CompareTo(const SharedPtr<Object>&) const比较当前对象和指定对象。
Duration() const返回一个新的 TimeSpan 对象实例,其值为当前对象的绝对值。
Equals(TimeSpan) const确定当前对象表示的时间间隔是否等于指定对象表示的时间间隔。
Equals(const SharedPtr<Object>&) const确定当前对象表示的时间间隔是否等于指定对象表示的时间间隔。
static Equals(TimeSpan, TimeSpan)如果指定对象表示相同的时间间隔,则返回 true;否则返回 false。
static FromDays(double)返回一个表示指定间隔的新 TimeSpan 对象。
static FromHours(double)返回一个表示指定间隔的新 TimeSpan 对象。
static FromMilliseconds(double)返回一个表示指定间隔的新 TimeSpan 对象。
static FromMinutes(double)返回一个表示指定间隔的新 TimeSpan 对象。
static FromSeconds(double)返回一个表示指定间隔的新 TimeSpan 对象。
static FromTicks(int64_t)返回一个表示指定间隔的新 TimeSpan 对象。
get_Days() const返回当前 TimeSpan 对象表示的时间间隔的天数部分。
get_Hours() const返回当前 TimeSpan 对象表示的时间间隔的小时部分。
get_Milliseconds() const返回当前 TimeSpan 对象表示的时间间隔的毫秒部分。
get_Minutes() const返回当前 TimeSpan 对象表示的时间间隔的分钟部分。
get_Seconds() const返回当前 TimeSpan 对象表示的时间间隔的秒数部分。
get_Ticks() const返回构成当前 TimeSpan 对象表示的时间间隔的 100 纳秒间隔的数量。
get_TotalDays() const返回当前 TimeSpan 对象以完整和小数天数表示的值。
get_TotalHours() const返回当前 TimeSpan 对象以完整和小数小时表示的值。
get_TotalMilliseconds() const返回当前 TimeSpan 对象以完整和小数毫秒表示的值。
get_TotalMinutes() const返回当前 TimeSpan 对象以完整和小数分钟表示的值。
get_TotalSeconds() const返回当前 TimeSpan 对象以完整和小数秒数表示的值。
GetHashCode() const返回当前对象的哈希码。
IsNull() const
Negate() const返回一个新的 TimeSpan 对象实例,表示当前 TimeSpan 对象的取反值。
operator!=(TimeSpan) const确定当前对象表示的时间间隔是否不等于指定对象表示的时间间隔。
operator!=(std::nullptr_t) const
operator+(TimeSpan) const返回一个新的 TimeSpan 类实例,表示当前对象和指定对象所表示的时间间隔之和。
operator+() const返回自身。
operator+=(TimeSpan)将当前对象的时间间隔赋值为当前对象和指定对象表示的时间间隔之和。
operator-(TimeSpan) const返回一个新的 TimeSpan 类实例,表示从当前对象表示的时间间隔中减去指定对象表示的时间间隔后的结果。
operator-() const返回一个新的 TimeSpan 对象实例,表示当前 TimeSpan 对象的取反值。
operator-=(TimeSpan)将当前对象的时间间隔赋值为从当前对象表示的时间间隔中减去指定对象表示的时间间隔后的结果。
operator/(double) const
operator/(TimeSpan) const
operator/=(double)
operator<(TimeSpan) const确定当前对象表示的时间间隔是否短于指定对象表示的时间间隔。
operator<(std::nullptr_t) const
operator<=(TimeSpan) const确定当前对象表示的时间间隔是否短于或等于指定对象表示的时间间隔。
operator<=(std::nullptr_t) const
operator=(const TimeSpan&)将指定的 TimeSpan 对象表示的时间间隔设置为当前的 TimeSpan 对象。
operator==(TimeSpan) const确定当前对象表示的时间间隔是否等于指定对象表示的时间间隔。
operator==(std::nullptr_t) const
operator>(TimeSpan) const确定当前对象表示的时间间隔是否长于指定对象表示的时间间隔。
operator>(std::nullptr_t) const
operator>=(TimeSpan) const确定当前对象表示的时间间隔是否长于或等于指定对象表示的时间间隔。
operator>=(std::nullptr_t) const
static Parse(const String&)将字符串转换为等效的 TimeSpan 对象。
static Parse(const String&, const SharedPtr<IFormatProvider>&)使用指定的格式提供程序将字符串转换为等效的 TimeSpan 对象。
static Parse(const String&, const SharedPtr<Globalization::CultureInfo>&)
static Parse(const String&, const SharedPtr<Globalization::DateTimeFormatInfo>&)
static Parse(const String&, std::nullptr_t)
static ParseExact(const String&, const ArrayPtr<String>&, const SharedPtr<IFormatProvider>&, Globalization::TimeSpanStyles)使用指定的格式、格式提供程序和样式将字符串转换为等效的 TimeSpan 对象。
static ParseExact(const String&, const ArrayPtr<String>&, const SharedPtr<Globalization::CultureInfo>&, Globalization::TimeSpanStyles)
static ParseExact(const String&, const ArrayPtr<String>&, const SharedPtr<Globalization::DateTimeFormatInfo>&, Globalization::TimeSpanStyles)
static ParseExact(const String&, const ArrayPtr<String>&, std::nullptr_t, Globalization::TimeSpanStyles)
static ParseExact(const String&, const String&, const SharedPtr<IFormatProvider>&, Globalization::TimeSpanStyles)使用指定的格式、格式提供程序和样式将字符串转换为等效的 TimeSpan 对象。
static ParseExact(const String&, const String&, const SharedPtr<Globalization::CultureInfo>&, Globalization::TimeSpanStyles)
static ParseExact(const String&, const String&, const SharedPtr<Globalization::DateTimeFormatInfo>&, Globalization::TimeSpanStyles)
static ParseExact(const String&, const String&, std::nullptr_t, Globalization::TimeSpanStyles)
Subtract(TimeSpan) const返回一个新的 TimeSpan 类实例,表示从当前对象表示的时间间隔中减去指定对象表示的时间间隔后的结果。
TimeSpan()构造一个表示零时间间隔的 TimeSpan 对象。
explicit TimeSpan(int64_t)构造一个表示指定时间间隔的 TimeSpan 类的实例。
TimeSpan(int, int, int)构造一个表示时间间隔的 TimeSpan 类的实例,该时间间隔等于指定的小时、分钟和秒数之和。
TimeSpan(int, int, int, int, int)构造一个表示时间间隔的 TimeSpan 类的实例,该时间间隔等于指定的小时、分钟、秒和毫秒之和。
TimeSpan(const TimeSpan&)构造一个表示时间间隔的 TimeSpan 对象,该时间间隔等于指定的 TimeSpan 对象所表示的时间间隔。
ToString() const返回当前对象所表示的时间间隔的字符串表示形式。
ToString(const String&) 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
static TryParse(const String&, TimeSpan&)将字符串转换为等效的 TimeSpan 对象并返回转换结果。
static TryParse(const String&, const SharedPtr<IFormatProvider>&, TimeSpan&)使用指定的格式提供程序将字符串转换为等效的 TimeSpan 对象并返回转换结果。
static TryParse(const String&, const SharedPtr<Globalization::CultureInfo>&, TimeSpan&)
static TryParse(const String&, const SharedPtr<Globalization::DateTimeFormatInfo>&, TimeSpan&)
static TryParse(const String&, std::nullptr_t, TimeSpan&)
static TryParseExact(const String&, const ArrayPtr<String>&, const SharedPtr<IFormatProvider>&, TimeSpan&)使用指定的格式和格式提供程序将字符串转换为等效的 TimeSpan 对象,并返回转换结果。
static TryParseExact(const String&, const ArrayPtr<String>&, const SharedPtr<Globalization::CultureInfo>&, TimeSpan&)
static TryParseExact(const String&, const ArrayPtr<String>&, const SharedPtr<Globalization::DateTimeFormatInfo>&, TimeSpan&)
static TryParseExact(const String&, const ArrayPtr<String>&, std::nullptr_t, TimeSpan&)
static TryParseExact(const String&, const String&, const SharedPtr<IFormatProvider>&, Globalization::TimeSpanStyles, TimeSpan&)使用指定的格式、格式提供程序和样式将字符串转换为等效的 TimeSpan 对象,并返回转换结果。
static TryParseExact(const String&, const String&, const SharedPtr<Globalization::CultureInfo>&, Globalization::TimeSpanStyles, TimeSpan&)
static TryParseExact(const String&, const String&, const SharedPtr<Globalization::DateTimeFormatInfo>&, Globalization::TimeSpanStyles, TimeSpan&)
static TryParseExact(const String&, const String&, std::nullptr_t, Globalization::TimeSpanStyles, TimeSpan&)
static TryParseExact(const String&, const ArrayPtr<String>&, const SharedPtr<IFormatProvider>&, Globalization::TimeSpanStyles, TimeSpan&)使用指定的格式、格式提供程序和样式将字符串转换为等效的 TimeSpan 对象,并返回转换结果。
static TryParseExact(const String&, const ArrayPtr<String>&, const SharedPtr<Globalization::CultureInfo>&, Globalization::TimeSpanStyles, TimeSpan&)
static TryParseExact(const String&, const ArrayPtr<String>&, const SharedPtr<Globalization::DateTimeFormatInfo>&, Globalization::TimeSpanStyles, TimeSpan&)
static TryParseExact(const String&, const ArrayPtr<String>&, std::nullptr_t, Globalization::TimeSpanStyles, TimeSpan&)
static TryParseExact(const String&, const String&, const SharedPtr<IFormatProvider>&, TimeSpan&)使用指定的格式和格式提供程序将字符串转换为等效的 TimeSpan 对象,并返回转换结果。
static TryParseExact(const String&, const String&, const SharedPtr<Globalization::CultureInfo>&, TimeSpan&)
static TryParseExact(const String&, const String&, const SharedPtr<Globalization::DateTimeFormatInfo>&, TimeSpan&)
static TryParseExact(const String&, const String&, std::nullptr_t, TimeSpan&)
static Type()返回一个表示 TimeSpan 结构的 TypeInfo 对象。

字段

字段描述
static MaxValue表示最长可能间隔的 TimeSpan 对象。
static MinValue/// 表示最短可能间隔的 TimeSpan 对象。
static constexpr TicksPerDay一天(24 小时)中 100 纳秒间隔的数量。
static constexpr TicksPerHour每小时的 100 纳秒间隔数。
static constexpr TicksPerMillisecond每毫秒的 100 纳秒间隔数。
static constexpr TicksPerMinute每分钟的 100 纳秒间隔数。
static constexpr TicksPerSecond每秒的 100 纳秒间隔数。
static Zero表示零间隔的 TimeSpan 对象。

备注

#include "system/datetime.h"
#include "system/timespan.h"
#include <iostream>

int main()
{
  const auto date1 = System::DateTime(2021, 01, 01);
  const auto date2 = System::DateTime(2021, 10, 30);

  const auto interval = date2 - date1;

  std::cout << "Number of ticks: " << interval.get_Ticks() << std::endl;
  std::cout << "Number of milliseconds: " << interval.get_Milliseconds() << std::endl;
  std::cout << "Total number of milliseconds: " << interval.get_TotalMilliseconds() << std::endl;
  std::cout << "Number of minutes: " << interval.get_Minutes() << std::endl;
  std::cout << "Total number of minutes: " << interval.get_TotalMinutes() << std::endl;
  std::cout << "Number of hours: " << interval.get_Hours() << std::endl;
  std::cout << "Total number of hours: " << interval.get_Hours() << std::endl;
  std::cout << "Number of days: " << interval.get_Days() << std::endl;
  std::cout << "Total number of days: " << interval.get_TotalDays() << std::endl;

  return 0;
}
/*
This code example produces the following output:
Number of ticks: 260928000000000
Number of milliseconds: 0
Total number of milliseconds: 2.60928e+10
Number of minutes: 0
Total number of minutes: 434880
Number of hours: 0
Total number of hours: 0
Number of days: 302
Total number of days: 302
*/

另见