怎么将datatime转换为decimal呀? 可以对datatime进行求和吗?

angel_lee 2002-12-19 11:28:31
怎么将datatime转换为decimal呀?

可以对datatime进行求和吗?

谢谢:)
...全文
201 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gangganghao 2002-12-19
  • 打赏
  • 举报
回复
嗨。。。。。就是不一样。。。。
saucer 2002-12-19
  • 打赏
  • 举报
回复
why do you want to datatime转换为decimal?? it makes no sense at all

>>>datatime进行求和
the worst you can do is to use DateTime.Ticks property
icyer 2002-12-19
  • 打赏
  • 举报
回复
Convert.ToDecimal(DateTime);

DateTime相加的类型是TimeSpan:
TimeSpan ts = d1 + d2;
angel_lee 2002-12-19
  • 打赏
  • 举报
回复
非常感谢大家的帮助:)
MEELON 2002-12-19
  • 打赏
  • 举报
回复
System.TimeSpan 就是用来算两个DateTime格式相差多少时间的
System.TimeSpan Span = 时间1 - 时间2;
hour=Span.TotalHours;
(年、月、天、小时...)
什么都可以算
gangganghao 2002-12-19
  • 打赏
  • 举报
回复
System.TimeSpan Span = Date2.Subtract(Date1);
hour=Span.TotalHours;

yirenboy 2002-12-19
  • 打赏
  • 举报
回复
Oh,我做过两个时间的差,Just like this!
DateTime 下班时的刷卡时间 = 获得参数值(24小时制);
DateTime 下班时间 = 17:00

// 获得开始结束相差的时间
System.TimeSpan tsDiff = 下班时的刷卡时间 - 下班时间;

加班时长 = tsDiff.Minutes
(当然了,你还应该判断刷卡与下半时间比较)
参考例子如下:

///////////////////////////////////////////////////////

// 获得输入的时间
string strTimeFirst = txbStarTime.Text.ToString().Trim();
string strTimeSecond = txbEndTime.Text.ToString().Trim();

// 把开始和结束的时间转化成DateTime形式
DateTime dtTimeFirst = System.Convert.ToDateTime(strTimeFirst);
DateTime dtTimeSecond = System.Convert.ToDateTime(strTimeSecond);

// 比较开始和结束时间是否合乎要求
// iDayCompare = 0 开始结束时间相等
// iDayCompare = 1 开始小于结束时间
// iDayCompare = -1 开始大于结束时间
// 其他情况则输入数据有问题
int iDayCompare = System.DateTime.Compare( dtTimeSecond, dtTimeFirst );
if( iDayCompare == 1 )
{
// 获得开始结束相差的时间
System.TimeSpan tsDiff = dtTimeSecond - dtTimeFirst;

// 把数据绑定到listBox中
libTimeDiff.Items.Clear();
ListItem liTimeDiff=new ListItem();
liTimeDiff.Text = Convert.ToString( tsDiff.Days );
liTimeDiff.Value = Convert.ToString( tsDiff.Days );
libTimeDiff.Items.Add( liTimeDiff );
libTimeDiff.DataBind();
}
else if (iDayCompare == 0 )
{
Response.Write("<script>alert('你输入两个相同的日期!')</script>");
}
else if (iDayCompare == -1 )
{
Response.Write("<script>alert('你输的日期开始时间大于了结束时间!')</script>");
}
else
{
Response.Write("<script>alert('你输入的开始结束时间有问题,请检查!')</script>");
}
angel_lee 2002-12-19
  • 打赏
  • 举报
回复
to saucer

datatime是读的卡的数据,而计算加班时长用decimal.
加班时长=下班时的刷卡时间-5:00
加班时长可以是2.5(小时),所以用decimal

do you have any good advices about this?

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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