时间的计算

as667341 2011-09-01 10:31:32
我在数据库中有三个字段,登陆时间,退出时间,在线时长, 我使用数据列规范将 退出时间-登陆时间=在线时长
但得出的结果确是1900-01-01 00:00:03.860 有没有办法只要 00:00:03.860 不要年月日
...全文
112 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
http://blog.csdn.net/xianfajushi/article/details/4570876
潘少博 2011-09-01
  • 打赏
  • 举报
回复
其实你需要的是一个TimeSpan
他表示一段时间间隔。输出TimeSpan就可以输出超过一段时间的差值了。
stonemqy 2011-09-01
  • 打赏
  • 举报
回复

static void Main(string[] args)
{
string dateString = "1900-01-01 00:00:03.860";

DateTime date = DateTime.Parse(dateString);

string month = date.ToString("HHmmssfff");

Console.WriteLine(month);

Console.ReadLine();
}


C#时间日期格式字符串
朱俊浩 2011-09-01
  • 打赏
  • 举报
回复
CONVERT(Varchar(50), GETDATE(), 108) ,把getdate()改成你要转换的时间。
诺维斯基 2011-09-01
  • 打赏
  • 举报
回复
可以不要天数了,只要时、分
bodaowang 2011-09-01
  • 打赏
  • 举报
回复
DateTime dt1 = 登录时间;
DateTime dt2 = 退出时间;
TimeSpan ts = dt2.Subtract(dt1);
string 在线时长 = ts.Days.ToString()+"天" + ts.Hours.ToString()+"小时" + ts.Minutes.ToString()+"分钟";
as667341 2011-09-01
  • 打赏
  • 举报
回复
退出时间和登陆时间是datetime类型,在线时长在数据库中是计算的没有类型,那有没有更好的办法来计算在线时长?
bodaowang 2011-09-01
  • 打赏
  • 举报
回复
只要 00:00:03.860 是不现实的,如果退出时间和登录时间相差超过24小时,就会出错了


请确认退出时间,登录时间,在线时长这三个字段分别是什么类型的,在线时长用的是小时,还是分钟等?
wangyue4 2011-09-01
  • 打赏
  • 举报
回复
取出来1900-01-01 00:00:03.860 按空格分割,或者是转成datetime。然后datetime对象.小时+ datetime对象.分 + datetime对象.秒……
myweb0 2011-09-01
  • 打赏
  • 举报
回复
datatime.now.tosting("hh:mm:ss:fff");
木______木 2011-09-01
  • 打赏
  • 举报
回复
DateTime.Now.ToString("HH:mm:ss.fff");
stonemqy 2011-09-01
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 iamzhangf2005 的回复:]
TimeSpan span;
String st = span.ToString("hh:mm:ss");

这样应该可以,yyyy,MM,DD分别是年,月,日的格式显示,hh,mm,ss是时分秒的显示
[/Quote]

h是12小时制的,H是24小时制的
iamzhangf2005 2011-09-01
  • 打赏
  • 举报
回复
TimeSpan span;
String st = span.ToString("hh:mm:ss");

这样应该可以,yyyy,MM,DD分别是年,月,日的格式显示,hh,mm,ss是时分秒的显示

110,536

社区成员

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

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

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