如何将int型转换为DateTime?

whTan 2008-10-10 11:15:42
private DateTime startTime,endTime;

this.startTime=this.dtpStartTime.Value.Hour;
this.endTime=this.dtpEndTime.Value.Hour; //编译器显示不能将int型数据隐式转换为DateTime型数据。

请问要怎么转了?
还有this.dtpStartTime.Value的值为“2008-10-10 11:30”,我只是想将“11:30”转给startTime,前面的年份不要。
呵呵,小弟刚学c#,所以只好将这些简单的东西拿上来麻烦大家,先谢谢了。
...全文
791 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovehongyun 2008-10-11
  • 打赏
  • 举报
回复
DateTime得有年月呀..你把小时什么的符给它当然不行.
fvflove 2008-10-11
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 whslovexyp 的回复:]
Data type Range Accuracy
datetime January 1, 1753, through December 31, 9999 3.33 milliseconds
看下msdn,对datetime的介绍,范围是1753年开始,你只提取11:30,那年月怎么办,用timespan吧
[/Quote]


//DateTime 数据类型 是包括有 年月日 时分秒 的

//如果你取的是 "11:30" 分. 他会自动加上年月日(采用当前时期代替)
//示例

DateTime startTime;
startTime = Convert.ToDateTime("2008-10-10 11:30"); //取出此时期的时分
DateTime endTime;
endTime = Convert.ToDateTime(startTime.ToString("HH:mm"));
MessageBox.Show(endTime.ToString());
//会发现 显示的数据是 2008-10-11 11:30:00 //日期采用当前日期 2008/10/11 秒用0代替.
whslovexyp 2008-10-11
  • 打赏
  • 举报
回复
Data type Range Accuracy
datetime January 1, 1753, through December 31, 9999 3.33 milliseconds
看下msdn,对datetime的介绍,范围是1753年开始,你只提取11:30,那年月怎么办,用timespan吧



puloon 2008-10-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 whTan 的回复:]
哎,这个问题很难么,dtpStartTime是自定义的控件,类型是dateTime,它继承的是numericUpDown控件。我就是想把“dtpStartTime.Value”的值“2008-10-10 11:30”中的“11:30”取出来,转成DateTime型,请问怎么转?
[/Quote]

DateTime必须包含年月日
思路 取出dtpStartTime,dtpEndTime的值 转换为string 然后直接DateTime.Parse



private DateTime startTime,endTime;

赋值:
startTime=DateTime.Parse(this.dtpStartTime.Value.ToString());
endTime=DateTime.Parse(this.dtpEndTime.Value.ToString());




puloon 2008-10-10
  • 打赏
  • 举报
回复
同意 8 楼

private string startTime,endTime;

startTime=this.dtpStartTime.Value.ToString("HH:mm");
endTime=this.dtpEndTime.Value.ToString("HH:mm");

vrhero 2008-10-10
  • 打赏
  • 举报
回复
DateTime必须包含年月日...

你只能用TimeSpan、字符串或数字来表示...
bingbingw 2008-10-10
  • 打赏
  • 举报
回复
DateTime.ToShortTimeString ()~~~
whTan 2008-10-10
  • 打赏
  • 举报
回复
哎,这个问题很难么,dtpStartTime是自定义的控件,类型是dateTime,它继承的是numericUpDown控件。我就是想把“dtpStartTime.Value”的值“2008-10-10 11:30”中的“11:30”取出来,转成DateTime型,请问怎么转?
whTan 2008-10-10
  • 打赏
  • 举报
回复
1楼和4楼说错了, this.dtpStartTime.Value.Hour得到的是个int类型,不是dateTime。
wihtsky 2008-10-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 InterRonaldo 的回复:]
this.dtpStartTime.Value 返回应该是一个dateTime类型的属性
你直接获取他的属性 this.dtpStartTime.Value.Hour 和 this.dtpStartTime.Value.Minute
就可以取得分钟和小时了

然后就可以处理一下传出去了

另外dateTime 还支持直接转成String类型的处理 toString("yyyy-MM-dd")
就可以直接转成相应的年月日 小时分钟以此类推 可以得到任意你想要的格式
[/Quote]
正解
再见品月 2008-10-10
  • 打赏
  • 举报
回复

private DateTime startTime,endTime;

this.startTime=this.dtpStartTime.Value.ToString("HH:mm");
this.endTime=this.dtpEndTime.Value.ToString("HH:mm");


wonture 2008-10-10
  • 打赏
  • 举报
回复
大佬啊,这样怎么行的啊?this.dtpStartTime.Value.Hour只是取出时间的小时而已,即是“11”,int类型。
你可以试下定义个字符串啦,将11:30截出来吧。
InterRonaldo 2008-10-10
  • 打赏
  • 举报
回复
this.dtpStartTime.Value 返回应该是一个dateTime类型的属性
你直接获取他的属性 this.dtpStartTime.Value.Hour 和 this.dtpStartTime.Value.Minute
就可以取得分钟和小时了

然后就可以处理一下传出去了

另外dateTime 还支持直接转成String类型的处理 toString("yyyy-MM-dd")
就可以直接转成相应的年月日 小时分钟以此类推 可以得到任意你想要的格式

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧