如何显式地将System.DateTime转换为System.TimeSpan

时间:2014-06-07 02:00:56

标签: c# xaml windows-phone-8

我想明确地将日期时间转换为时间跨度格式时间。因为我必须在我的提醒应用程序中将时间从DateTime更改为时间跨度

2 个答案:

答案 0 :(得分:3)

TimeSpan一般表示两个DateTime之间的时差。因此,您需要为差异建立基准日期。

您可以尝试使用

TimeSpan ts = new TimeSpan(DateTime.Now.Ticks);

但上述内容将使用基准时间12:00:00 midnight, January 1, 0001


试图通过猜测你的问题来回答

假设您在为15th June 2014

创建的剩余应用中有一个事件
DateTime eventDate = new DateTime(2014, 6, 6);

// now to show the timespan you can use
TimeSpan ts = eventDate - DateTime.Now.Date;

// time left to event
Console.WriteLine("{0} days, {1} hours, {2} minutes", ts.TotalDays, ts.Hours, ts.Minutes);

答案 1 :(得分:1)

这项操作没有意义,所以你无法做到。任何演员尝试都会失败。

当你想到它时,这是有意义的," 2014年5月21日下午4:00"意味着时间跨度?时间跨度类似于" 4小时10分钟,5秒和#34;这显然不是日期或时间。

如果你减去两个DateTime个对象,你会得到一个TimeSpan,但除此之外是不可能的。