DateTime login_time = Convert.ToDateTime(DateTime.Now.ToString("hh:mm:ss"));
DateTime submit_time = Convert.ToDateTime(DateTime.Now.ToString("hh:mm:ss"));
TimeSpan sj = submit_time - login_time;
按说 sj显示的应该是05:04:16才对!为什么多出来前面的一长串啊!
DateTime submit_time = Convert.ToDateTime(DateTime.Now.ToString("hh:mm:ss"));
TimeSpan sj = submit_time - login_time;
按说 sj显示的应该是05:04:16才对!为什么多出来前面的一长串啊!
{string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
dateDiff = ts.Days.ToString()+"天"+ ts.Hours.ToString()+"小时"+ ts.Minutes.ToString()+"分钟"+ ts.Seconds.ToString()+"秒";
return dateDiff;
}
sj.Minutes
sj.Seconds
DateTime submit_time = Convert.ToDateTime(DateTime.Now.ToString("hh:mm:ss"));
---------------------------------
你这两句真纠结,为什么要ToString("hh:mm::ss")呢??
TimeSpan sj = submit_time.Subtract(login_time);
我改成这样也不行
格式化部分所造成的你不要转换,直接两个时间减
直接在sql里面datdiff函数不就完了
c# 里面做数据转化
两个datetime 是可以相减的,没有问题,大家不要认为不能减。
DateTime time2 =new DateTime(1982,1,21,8,16,32);
TimeSpan ts= time2.Subtract(time1);
string timespan = "相差:"
+ts.Days.ToString()+"天"
+ts.Hours.ToString()+"小时"
+ts.Minutes.ToString()+"分钟"
+ts.Seconds.ToString()+"秒";
http://www.cnblogs.com/colder/archive/2011/02/17/1956692.html
DateTime login_time =DateTime.Now;
DateTime submit_time =DateTime.Now;
TimeSpan sj = submit_time - login_time;
为什么还是乱码,求解!
+sj.Hours.ToString()+"小时"
+sj.Minutes.ToString()+"分钟"
+sj.Seconds.ToString()+"秒";
TimeSpan 对象的值是等于所表示时间间隔的刻度数。一个刻度等于 100 纳秒,TimeSpan 对象的值的范围在 MinValue 和 MaxValue 之间。
TimeSpan 值可以表示为 [-]d.hh:mm:ss.ff,其中减号是可选的,它指示负时间间隔,d 分量表示天,hh 表示小时(24 小时制),mm 表示分钟,ss 表示秒,而 ff 为秒的小数部分。即,时间间隔包括整的正负天数、天数和剩余的不足一天的时长,或者只包含不足一天的时长。例如,初始化为 1.0e+13 刻度的 TimeSpan 对象的文本表示“11.13:46:40”,即 11 天,13 小时,46 分钟和 40 秒。
我想在页面打开的时候获取到系统的一个时间也就是login_time
然后我点击提交按钮的时候再获取一个时间submit_time;
login-time是在protected void Page_Load(object sender, EventArgs e)里面
{ DateTime login_time = DateTime.Now; }
submit_time是在 protected void submit_Click(object sender, EventArgs e)里面
{ DateTime submit_time = DateTime.Now; }
我是等到这个页面过了五分钟左右才点Submi按钮
可是我获取到的俩个时间是一样的,这是为什么啊
<script runat="server"> protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
HiddenField1.Value = DateTime.Now.Ticks.ToString();
} } protected void Button1_Click(object sender, EventArgs e)
{
DateTime login_time = new DateTime(Convert.ToInt64(HiddenField1.Value));
DateTime submit_time = DateTime.Now;
TimeSpan ts = submit_time - login_time;
Response.Write("时间间隔(秒):" + ts.Seconds.ToString());
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</form>
</body>
</html>
代码参考楼上的。