DateTimeOffset.Subtract 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从当前的 DateTimeOffset 对象中减去指定的时间或持续时间。
重载
Subtract(DateTimeOffset) |
从当前的 DateTimeOffset 对象中减去表示特定日期和时间的 DateTimeOffset 值。 |
Subtract(TimeSpan) |
从当前的 DateTimeOffset 对象中减去指定的时间间隔。 |
Subtract(DateTimeOffset)
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
从当前的 DateTimeOffset 对象中减去表示特定日期和时间的 DateTimeOffset 值。
public:
TimeSpan Subtract(DateTimeOffset value);
public TimeSpan Subtract (DateTimeOffset value);
member this.Subtract : DateTimeOffset -> TimeSpan
Public Function Subtract (value As DateTimeOffset) As TimeSpan
参数
- value
- DateTimeOffset
一个对象,表示要减去的值。
返回
一个对象,指定两个 DateTimeOffset 对象之间的间隔。
示例
以下示例演示了使用 Subtract(DateTimeOffset) 方法的减法。
DateTimeOffset firstDate = new DateTimeOffset(2018, 10, 25, 18, 0, 0,
new TimeSpan(-7, 0, 0));
DateTimeOffset secondDate = new DateTimeOffset(2018, 10, 25, 18, 0, 0,
new TimeSpan(-5, 0, 0));
DateTimeOffset thirdDate = new DateTimeOffset(2018, 9, 28, 9, 0, 0,
new TimeSpan(-7, 0, 0));
TimeSpan difference;
difference = firstDate.Subtract(secondDate);
Console.WriteLine($"({firstDate}) - ({secondDate}): {difference.Days} days, {difference.Hours}:{difference.Minutes:d2}");
difference = firstDate.Subtract(thirdDate);
Console.WriteLine($"({firstDate}) - ({thirdDate}): {difference.Days} days, {difference.Hours}:{difference.Minutes:d2}");
// The example produces the following output:
// (10/25/2018 6:00:00 PM -07:00) - (10/25/2018 6:00:00 PM -05:00): 0 days, 2:00
// (10/25/2018 6:00:00 PM -07:00) - (9/28/2018 9:00:00 AM -07:00): 27 days, 9:00
let firstDate = DateTimeOffset(2018, 10, 25, 18, 0, 0, TimeSpan(-7, 0, 0))
let secondDate = DateTimeOffset(2018, 10, 25, 18, 0, 0, TimeSpan(-5, 0, 0))
let thirdDate = DateTimeOffset(2018, 9, 28, 9, 0, 0, TimeSpan(-7, 0, 0))
let difference = firstDate.Subtract secondDate
printfn $"({firstDate}) - ({secondDate}): {difference.Days} days, {difference.Hours}:{difference.Minutes:d2}"
let difference = firstDate.Subtract thirdDate
printfn $"({firstDate}) - ({thirdDate}): {difference.Days} days, {difference.Hours}:{difference.Minutes:d2}"
// The example produces the following output:
// (10/25/2018 6:00:00 PM -07:00) - (10/25/2018 6:00:00 PM -05:00): 0 days, 2:00
// (10/25/2018 6:00:00 PM -07:00) - (9/28/2018 9:00:00 AM -07:00): 27 days, 9:00
Dim firstDate As New DateTimeOffset(#10/25/2018 6:00PM#, _
New TimeSpan(-7, 0, 0))
Dim secondDate As New DateTimeOffset(#10/25/2018 6:00PM#, _
New TimeSpan(-5, 0, 0))
Dim thirdDate As New DateTimeOffset(#9/28/2018 9:00AM#, _
New TimeSpan(-7, 0, 0))
Dim difference As TimeSpan
difference = firstDate.Subtract(secondDate)
Console.WriteLine($"({firstDate}) - ({secondDate}): {difference.Days} days, {difference.Hours}:{difference.Minutes:d2}")
difference = firstDate.Subtract(thirdDate)
Console.WriteLine($"({firstDate}) - ({thirdDate}): {difference.Days} days, {difference.Hours}:{difference.Minutes:d2}")
' The example produces the following output:
' (10/25/2018 6:00:00 PM -07:00) - (10/25/2018 6:00:00 PM -05:00): 0 days, 2:00
' (10/25/2018 6:00:00 PM -07:00) - (9/28/2018 9:00:00 AM -07:00): 27 days, 9:00
注解
此方法先将这两个 DateTimeOffset 对象转换为协调世界时 (UTC) ,然后再计算分隔它们的时间间隔。 这将删除 UTC 不同偏移量对比较可能产生的任何影响。
注意
对于支持自定义运算符的语言,还可以使用减法运算符执行日期和时间减法。 有关详细信息,请参阅 Subtraction 方法。
由于当前 DateTimeOffset 对象和 value
参数都不表示特定时区中的日期和时间,因此该方法 Subtract(DateTimeOffset) 在减去日期和时间时不考虑特定时区的调整规则。
另请参阅
适用于
Subtract(TimeSpan)
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
- Source:
- DateTimeOffset.cs
从当前的 DateTimeOffset 对象中减去指定的时间间隔。
public:
DateTimeOffset Subtract(TimeSpan value);
public DateTimeOffset Subtract (TimeSpan value);
member this.Subtract : TimeSpan -> DateTimeOffset
Public Function Subtract (value As TimeSpan) As DateTimeOffset
参数
- value
- TimeSpan
待减去的时间间隔。
返回
一个对象,它等于当前的 DateTimeOffset 对象所表示的日期和时间减去 value
所表示的时间间隔。
例外
示例
以下示例演示了使用 Subtract 方法的减法。
DateTimeOffset offsetDate = new DateTimeOffset(2007, 12, 3, 11, 30, 0,
new TimeSpan(-8, 0, 0));
TimeSpan duration = new TimeSpan(7, 18, 0, 0);
Console.WriteLine(offsetDate.Subtract(duration).ToString()); // Displays 11/25/2007 5:30:00 PM -08:00
let offsetDate = DateTimeOffset(2007, 12, 3, 11, 30, 0, TimeSpan(-8, 0, 0))
let duration = TimeSpan(7, 18, 0, 0)
printfn $"{offsetDate.Subtract duration}" // Displays 11/25/2007 5:30:00 PM -08:00
Dim offsetDate As New DateTimeOffset(#12/3/2007 11:30AM#, _
New TimeSpan(-8, 0, 0))
Dim duration As New TimeSpan(7, 18, 0, 0)
Console.WriteLine(offsetDate.Subtract(duration)) ' Displays 11/25/2007 5:30:00 PM -08:00
注解
可以使用 Subtract 方法在单个操作中 (天、小时、分钟、秒或毫秒) 减去多种时间间隔。 其行为与 定义减法运算符的 方法相同 Subtraction(DateTimeOffset, TimeSpan) 。 结构 DateTimeOffset 还支持专用加法 (,例如 AddDays、 AddHours和 AddMinutes) ,这些方法允许通过向方法参数分配负值来执行减法。
注意
此方法返回一个新 DateTimeOffset 对象。 它不会通过减去 value
当前对象的日期和时间来修改其值。
方法Subtract不会影响 对象的 Offset 属性的值DateTimeOffset。 返回的对象 DateTimeOffset 与原始对象具有相同的偏移量。
由于当前 DateTimeOffset 对象不表示特定时区中的日期和时间,因此该方法 Subtract(TimeSpan) 在执行减法时不考虑特定时区的调整规则。