用c# 做的,问题1:
在datagridview里有两列用来输入开始时间和结束时间(例如:21:46:34),怎么能在输入的时候,直接就能显示出那样的时间格式?(只要时间,不要日期。)问题2:
怎么计算开始时间和结束时间的时间差?
例如:开始时间(21:46:34),结束时间(22:46:34)如果是日期,我知道用TimeSpan 计算,可是时间好像不能啊。求助!!高手们!!!快来帮帮小女子啊!!!大恩不言谢,只能给分数了!!

解决方案 »

  1.   

    格式设置肯定有相关的Format,学会用MSDN
      

  2.   

    DateTime starttime=//输入开始时间
    string dt=starttime.ToString("hh:mm:ss");// 设置时间格式
    DateTime endtime=//=====输入结束时间
    TimeSpan diff=endtime.Subtract(starttime)//计算时间差
    string difftime=   
    ---diff.Hours.ToString()//按小时获得时间差
    ---diff.Seconds.ToString()//按秒获得时间差
      

  3.   

    google的资料:
    1.格式问题:http://hi.baidu.com/zouqiner/blog/item/a65b95df041bad50ccbf1a91.html2.事件差问题:既然你只是要计算时间,和日期没关系,那你可以在时间前面加上一个日期啊,两个相同就可以;如果存在跨天的情况就要另外考虑了.
      

  4.   


    这是在winfrom里的,用format好像不管用啊。
      

  5.   

    这是在winfrom里面的。关键是在datagridview里输入时间时,怎么能让输入时,就形成时间格式?最好是,客户只需要输入数字,就能自动用“:”来分割,形成时间格式。
      

  6.   


    在winform中famat是同样可以使用的  
    2楼基本正确   除了这句:
    string dt=starttime.ToString("HH:mm:ss");// 设置时间格式
      

  7.   


    看看这个行不行:
    使用 DateTimePicker 控件显示时间
      

  8.   

    、一般情况下是不用客户去输,而是让他去选择,那么这时候就需要js datapacker了建议尝试:DateTimePacker,这个控件-->所有控件,第12个
      

  9.   

    列表显示时间差   private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
            {    
                //string dateDiff = "";
                //if (e.ColumnIndex == 2)
                //{
                //    if (e.RowIndex > 0)
                //    {
                //        DataGridViewRow row = this.dataGridView1.Rows[e.RowIndex];
                //        DataGridViewRow row2 = this.dataGridView1.Rows[e.RowIndex - 1];
                //        if (row != null && row2 != null)
                //        {
                //            if (row.Cells["create_date"].Value != null && row.Cells["create_date"].Value.ToString() !="")
                //            {
                //                DateTime dt1 = Convert.ToDateTime(row.Cells["create_date"].Value.ToString());
                //                DateTime dt2 = Convert.ToDateTime(row2.Cells["create_date"].Value.ToString());
                //                TimeSpan ts1 = new TimeSpan(dt1.Ticks);
                //                TimeSpan ts2 = new TimeSpan(dt2.Ticks);
                //                TimeSpan ts = ts1.Subtract(ts2).Duration();
                //                if (int.Parse(ts.Days.ToString()) > 0)
                //                {
                //                  
                //                    dateDiff += ts.Days.ToString() + "天";
                //                }
                //                if (int.Parse(ts.Hours.ToString()) > 0)
                //                {
                //                    dateDiff += ts.Hours.ToString() + "小时";
                //                }
                //                e.Value = dt1.ToString() + "    " + dateDiff;            //            }
                //            else
                //            {
                //                e.Value = row.Cells["create_date"].Value;
                //            }
                //        }
                //    }
                //}
            }