从datetime只获得一小时

时间:2013-02-27 07:22:17

标签: c# datetime

如何从日期和时间中仅提取小时并将其转换为整数,以便我可以比较整数??

e.g。

datetime = 2013-02-01 10:24:36.000,即日期和时间数据类型

然后

小时=仅限小时,即10小时

然后

小时比较= Convert.ToInt32(时间);

我试过这个项目.StartTime是日期和时间:

var time = String.Format("{HH}", (DateTime)item.StartTime);
var hour = Convert.ToInt32(time);

错误:

Input string was not in a correct format.

4 个答案:

答案 0 :(得分:4)

我认为你只是在寻找DateTime.Hour

int hour = item.StartTime.Hour;

...但它的值为10,而不是24.(item.StartTime.Minute会给你24。)

根据经验,避免字符串转换,除非它们是您正在尝试完成的固有部分。

答案 1 :(得分:4)

这个怎么样?

DateTime dt = DateTime.Now;
int hour = dt.Hour;

值得习惯于在MSDN文档中查看这些内容。一旦你习惯它,这是非常好的。对于DateTime成员的列表,我只需google System.DateTime并按照顶级MSDN链接(通常是第一个链接)。

http://msdn.microsoft.com/en-us/library/system.datetime.aspx

答案 2 :(得分:1)

如果您希望将此与其他日期进行比较,您可能会让自己感到头疼,只需使用DateTime.Compare

public static int Compare(
    DateTime t1,
    DateTime t2
)

http://msdn.microsoft.com/en-us/library/system.datetime.compare.aspx

答案 3 :(得分:0)

//单行

int Time = DateTime.Now.Hour;