2008-12-11 156 views

回答

12

所有DateTime对象都必须有日期和时间。

如果你想只是时间,使用时间跨度:

TimeSpan span = TimeSpan.Parse("16:20"); 

如果你想有一个日期时间,添加时间到最小值:

TimeSpan span = TimeSpan.Parse("16.20"); 
DateTime dt = DateTime.MinValue.Add(span); 
// will get you 1/1/1900 4:20 PM which can be formatted with .ToString("HH:mm") for 24 hour formatting 
3

DateTime.Now.ToString( “HH:MM”) - 如果这是C#。

哦。只能阅读标题。

DateTime dt = new DateTime(2008, 12, 11, Convert.ToInt32("16"), Convert.ToInt32("32"), 0); 
+12

资本H公司的24小时时间 – 2008-12-11 21:26:54

+0

但是这个值转换为字符串吧?我想设置它的日期时间类型因为我工作与包含此值的属性的类 – 2008-12-11 21:27:03

+0

即时通讯从gridview中获取值这样: string hour =((Label)selectedRow.Cells [0] .FindControl(“ lblHorario“))文本。 – 2008-12-11 21:31:54

0

我想解决您的问题,这部分:

不失格式

数据库通常存储在一个标准的通用格式,甚至不是人类所有的日期时间值可读。如果使用日期时间列,原始格式将被销毁。

但是,当您检索该值时,将其重新转换为您想要的任何格式。如果你想HH:mm你可以得到它。

+0

我修正了这个问题,所以Joel的评论中的“不再松动”部分现在变得不那么重要了。 – 2008-12-11 21:25:47

1

你是什么意思“失去格式”。

如果将其转换为DateTime类型,则DateTime对象将具有dd/mm/yy和其他属性。根据您打算如何使用该对象,可以通过格式化字符串输出来“恢复”原始设置,如下所示:DT.ToString(“HH:mm”);

1

由于您没有规定您正在使用哪个DBMS,因此很难知道哪个答案对您有帮助。如果使用IBM Informix Dynamic Server,则只需使用数据类型'DATETIME HOUR TO MINUTE',它将在24小时制中记录值。

+0

但在代码方面im使用linqtosql,所以我必须通过所有数据作为数据库类型所需。 – 2008-12-11 21:45:13

1
DateTime.Parse("16:20") 
17

只要给一个日期格式的日期时间。

string DateFormat = "yyyy MM d "这会给你年月日。继续之后; string DateFormat = "yyyy MM d HH:mm:ss "在这里大写字母H会给你24 hours time format和小写"h" will give you the 12 hours time格式...

,如果你给出的日期格式为任何你想要的日期和时间的字符串,你可以做。

string DateFormat = "yyyyMMdHHmmss"; 
string date = DateTime.Now.ToStrign(DateFormat); 

OR

Console.writeline(DateTime.Now.ToStrign(DateFormat)); 

OUTPUT:

20120823132544 
相关问题