问一个有关DateTime和TimeSpan的问题

sh0cker 2004-09-20 01:44:37
我最近想用C#实现一个万年历的程序,在网上我发现了别人用javascript写得。
但是其中有一段代码,我不知道该如何用C#实现,试验了1天多了还是不能解决

javascript代码如下:
var sTermInfo = new Array(0,21208,42467,63836,85337,107014,128867,150921,173149,195551,218072,240693,263343,285989,308563,331033,353350,375494,397447,419210,440795,462224,483532,504758)
function sTerm(y,n) {
var offDate = new Date( ( 31556925974.7*(y-1900) + sTermInfo[n]*60000 ) + Date.UTC(1900,0,6,2,5) )
return(offDate)
}

我不知道该如何用C#实现上面的代码,我写得C#代码是
DateTime dt = new DateTime(1900,1,6,2,5,0);
DateTime dtBase = new DateTime(1970,1,1);
TimeSpan tmp = dt-dtBase;
DateTime offDate = Convert.ToDateTime(tmp); <<此处不能正常转换
return(offDate.Day);

但是发现TimeSpan和DateTime之间完全不能转换
请有相关经验的朋友们給予帮助
...全文
574 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
caesarls 2004-11-20
  • 打赏
  • 举报
回复
asp.net是在服务器端运行的,如果是b/s结构的,有c#写的万年历毫无价值,除非是c/s结构
caesarls 2004-11-20
  • 打赏
  • 举报
回复
两个日期相减怎么可能还会是日期型的?
cq_luqinjian 2004-11-20
  • 打赏
  • 举报
回复
关注
xiaoslong 2004-11-20
  • 打赏
  • 举报
回复
帮你顶一下
cq_lqj 2004-11-20
  • 打赏
  • 举报
回复
up
cq_lqj 2004-11-20
  • 打赏
  • 举报
回复
关注
haonanernet 2004-11-20
  • 打赏
  • 举报
回复
我晕,原来是两月前发的贴
haonanernet 2004-11-20
  • 打赏
  • 举报
回复
DateTime dt = new DateTime(1900,1,6,2,5,0);
DateTime dtBase = new DateTime(1970,1,1);
TimeSpan tmp = dt-dtBase;
DateTime offDate = Convert.ToDateTime(tmp); <<此处不能正常转换
return(offDate.Day);

---------------------------------------该成下面的

DateTime dt = new DateTime(1900,1,6,2,5,0);
DateTime dtBase = new DateTime(1970,1,1);
TimeSpan tmp = dt-dtBase;
return(tmp.Day);
dhtkhnt 2004-09-20
  • 打赏
  • 举报
回复
关注,帮你项一下。
sh0cker 2004-09-20
  • 打赏
  • 举报
回复
倒,我不是这个意思,这个天数是一个很小的数,也就是在1-31之间,不会是上万的,你这个Days的属性表示的应该是全部的天数吧.
运行一下js就知道了,我看js好像支持Date(毫秒数)构造时间
暗石绿 2004-09-20
  • 打赏
  • 举报
回复
DateTime dt = new DateTime(1900,1,6,2,5,0);
DateTime dtBase = new DateTime(1970,1,1);
TimeSpan tmp = dt-dtBase;
//DateTime offDate = Convert.ToDateTime(tmp); //此处不能正常转换
Response.Write(tmp.Days);
sh0cker 2004-09-20
  • 打赏
  • 举报
回复
补充一下
我只是在做实验,所以还没有加上( 31556925974.7*(y-1900) + sTermInfo[n]*60000 )这部分,我只是想知道C#中如何才能实现两个日期相减后再加上一个毫秒数,最后返回的还是DateTime类型

110,537

社区成员

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

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

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