在C#中合并两个DateTime类型

时间:2009-09-17 07:55:50

标签: c# datetime

这是我到目前为止所拥有的。

/// <summary>
/// Gets the date.
/// </summary>
/// <param name="date">The date: 05/07/2009</param>
/// <returns></returns>
private static DateTime GetDate(string date)
{
    DateTime postDate = DateTime.Parse(date);
    postDate.AddHours(DateTime.UtcNow.Hour);
    postDate.AddMinutes(DateTime.UtcNow.Minute);
    postDate.AddSeconds(DateTime.UtcNow.Second);
    postDate.AddMilliseconds(DateTime.UtcNow.Millisecond);

    return postDate;
}

有没有更好的方法来合并两个日期?我正在寻找更优雅的解决方案。

3 个答案:

答案 0 :(得分:7)

你可以试试这个

/// <summary>
/// Gets the date.
/// </summary>
/// <param name="date">The date: 05/07/2009</param>
/// <returns></returns>
private static DateTime GetDate(string date)
{
    DateTime postDate = DateTime.Parse(date);        
    return postDate.Add(DateTime.UtcNow.TimeOfDay);        
}

MSDN链接:DateTime.Add

编辑:代码更改

答案 1 :(得分:3)

return DateTime.Parse(date) + DateTime.UtcNow.TimeOfDay;

答案 2 :(得分:1)

我不确定添加两个日期是否有意义。你能举例说明昨天+现在是什么吗?添加TimeSpan会有意义:昨天+ 1天=今天。

你能准确解释一下你想要的吗?你解析的日期实际上是TimeSpan?然后你应该这样做:

return DateTime.UtcNow.Add(TimeSpan.parse(timespanstring))