如何在TimeSpan和DateTime之间进行转换[重复]

问题描述 投票:-1回答:2

一个有点愚蠢的问题,但我发现自己不确定如何回答。

Timespan ts = (DateTime1 - DateTime2).TotalMinutes

假设我知道tsDateTime2,如何找到DateTime1

c# datetime timespan
2个回答
2
投票

您可以在日期中添加TimeSpan

TimeSpan ts = DateTime1 - DateTime2;

DateTime1 = DateTime2 + ts;

请注意,我删除了TotalMinutes,因为它返回了double,而不是TimeSpan

如果您想处理几分钟,可以写信

double minutes = (DateTime1 - DateTime2).TotalMinutes;

DateTime1 = DateTime2 + TimeSpan.FromMinutes(minutes);

请注意,分钟数包含秒和秒的小数部分。如果只需要一整分钟,则可以使用以下方法获取它们:

int fullMinutes = (int)Math.Floor(minutes);

2
投票

您的代码无法编译。

示例:

 DateTime DateTime1 = DateTime.Now;
 DateTime DateTime2 = DateTime1.AddMinutes(-10);
 var ts = (DateTime1 - DateTime2).TotalMinutes;  //  ts is a double

 DateTime DateTime3 = DateTime1 + TimeSpan.FromMinutes(ts);
© www.soinside.com 2019 - 2024. All rights reserved.