如何将时间PM添加到AM [英] How to Addition of Time PM to AM

查看:87
本文介绍了如何将时间PM添加到AM的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个问题在时间添加实际上时间添加发生在PM到AM之后,就像我会给你的例子



停止类型地址到达等待出发旅行
时间(时间(
分钟)分钟)
AAA CO PANE 10:30 PM 60 11:30 PM 0
BBB CO巴西11:30 PM 5 11:35 PM 5
CC CO秘鲁11:40 PM 10 11:50 PM 10









加法乘以此公式

到达时间+等待时间=出发时间和出发+旅行=下次到达时间< br / > 



所以问题是在添加 11:50 PM + 10(min)后显示我们 1.00:20:00 所以我需要添加 11:50 PM + 10 它应该是 12:00 PM



所以给mi解决方案



见下面的鳕鱼e $>


  for  int  i =  0 ;我<  dtCurrentTable.Rows.Count; i ++)
{
RadioButton Rdbs =((RadioButton)GridRouteDetails.Rows [i] .Cells [ 0 ]。FindControl( GrdSelectAll));
if (Rdbs.Checked == true
{
dtTableRow = dtCurrentTable.NewRow();
int rowindex = Convert.ToInt32(ViewState [ Gridindex]);
dtTableRow [ ] = 0 ;
if (RadioCollectionpt0.Checked == true
{
dtTableRow [ 输入] = CP;
dtTableRow [ 停止] = txtCollectionpoint0.Text;
}
if (RadioHCE0.Checked == true
{
DataTable dt1 =(DataTable)ViewState [ HCEOccupier];
DataRow [] dr = dt1.Select( HCEID = + ViewState [ SelHCEId]。ToString());
if (dr.Length> 0)
{
dtTableRow [ 输入] = dr [ 0 ] [ CustomerCode]。ToString();
}
dtTableRow [ 停止] = ddlHCEPoint0.SelectedItem.Text;
}
dtTableRow [ 地址] = txtAddress.Text;
var TMR = Convert.ToDateTime(ViewState [ TIME]);
var TMRQ = TMR - TMR.Date;
dtTableRow [ ArrivalTime] = TMRQ;
int IntTraval = Convert.ToInt16(txtTravelTime.Text);
TimeSpan TIntTraval = TimeSpan.FromMinutes(IntTraval);
dtTableRow [ TravalTime] = TIntTraval.Minutes;
dtTableRow [ WaitingTime] = txtWaitingTime.Text;
int WTO = Convert.ToInt16(txtWaitingTime.Text);
TimeSpan WTOresult = TimeSpan.FromMinutes(WTO);
dtTableRow [ DepartureTime] = TMRQ .Add(WTOresult);
TimeSpan DPTO = TMRQ .Add(WTOresult);
dtTableRow [ HceID] = ddlHCEPoint0.SelectedValue;
dtCurrentTable.Rows.InsertAt(dtTableRow,i + 1 );
for int P = i + 1; P < dtCurrentTable.Rows.Count; P ++)
{
DateTime DepTime = Convert.ToDateTime(dtCurrentTable.Rows [P - 1 ] [ DepartureTime]);
var DTMR = Convert.ToDateTime(DepTime);
var ConDepTime = DTMR - DTMR.Date;
int TravalTime = Convert.ToInt16(dtCurrentTable.Rows [P - 1 ] [ TravalTime]);
TimeSpan ConTravTime = TimeSpan.FromMinutes(TravalTime);
TimeSpan DDPTO =(ConDepTime.Add(ConTravTime));
// 问题显示在TimeSpan DDPTO中,值显示{1.00:20:00}
// 所以给我解决方案

DateTime DatDDPTO =转换.ToDateTime( 01 01 1920 + DDPTO.ToString());
DatDDPTO.ToString( hh:mm tt);
dtCurrentTable.Rows [P] [ ArrivalTime] = DatDDPTO.ToString( hh:mm tt);
int WWTO = Convert.ToInt16(dtCurrentTable.Rows [P] [ WaitingTime]);
TimeSpan WWTOresult = TimeSpan.FromMinutes(WWTO);
TimeSpan DDD = DDPTO.Add(WWTOresult);
DateTime DatDTPTO = Convert.ToDateTime( 01 01 1920 + DDD.ToString() );
DatDTPTO.ToString( hh:mm tt);
dtCurrentTable.Rows [P] [ DepartureTime] = DatDTPTO.ToString( hh:mm tt);
}
ViewState [ RouteDetails] = dtCurrentTable;
GridRouteDetails.DataSource = dtCurrentTable;
GridRouteDetails.DataBind();
break ;
}
}

解决方案

显然你不明白你的代码失败的原因或失败的原因。

由于我们无法执行您的程序,您是唯一一个能够使用调试器执行它的程序。

调试器是您需要学习的程序员的首选工具调试器,它是强制性的。



调试器允许您逐步执行程序,检查变量并跟踪变量变化。通过这种方式,您可以缩小研究范围并找出出错的地方。



https://msdn.microsoft.com/en-us/library/w2faa92k.aspx [ ^ ]

https://support.microsoft.com/en-us/kb/316726 [ ^ ]

https://msdn.microsoft.com/en-us/library/ms227556.aspx [ ^ ]



使用调试器,你可以通过输入和输出来查看yjr guilty line

i have a one Problem in Time Addition actually time addition is occur after PM to AM like as i will give you example

 Stop  Type  Address Arrival  Waiting  Departure Travel
                      time    (time in  time      (time in 
                               Minute)             Minute) 
AAA   CO    PANE    10:30 PM    60    11:30 PM    0
BBB   CO    Brazil  11:30 PM    5     11:35 PM    5
CC    CO    Peru    11:40 PM    10    11:50 PM   10





the Addition is goes by this Formula

Arrival Time + waiting time = Departure Time and Departure + Travel = Next Arrival Time<br />


So the Problem is After Addition of 11:50 PM + 10 (min) it Show us 1.00:20:00 so I need addition of the 11:50 PM + 10 it Should be 12:00 PM

So Give mi Solution

see below code

for (int i = 0; i < dtCurrentTable.Rows.Count; i++)
{
    RadioButton Rdbs = ((RadioButton)GridRouteDetails.Rows[i].Cells[0].FindControl("GrdSelectAll"));
    if (Rdbs.Checked == true)
    {
        dtTableRow = dtCurrentTable.NewRow();
        int rowindex = Convert.ToInt32(ViewState["Gridindex"]);
        dtTableRow["#"] = 0;
        if (RadioCollectionpt0.Checked == true)
        {
            dtTableRow["Type"] = "CP";
            dtTableRow["Stop"] = txtCollectionpoint0.Text;
        }
        if (RadioHCE0.Checked == true)
        {
            DataTable dt1 = (DataTable)ViewState["HCEOccupier"];
            DataRow[] dr = dt1.Select("HCEID=" + ViewState["SelHCEId"].ToString());
            if (dr.Length>0)
            {
                dtTableRow["Type"] = dr[0]["CustomerCode"].ToString();
            }
            dtTableRow["Stop"] = ddlHCEPoint0.SelectedItem.Text;
        }
        dtTableRow["Adress"] = txtAddress.Text;
        var TMR=Convert.ToDateTime(ViewState["TIME"]);
        var TMRQ= TMR - TMR.Date;
        dtTableRow["ArrivalTime"] = TMRQ;
        int IntTraval = Convert.ToInt16(txtTravelTime.Text);
        TimeSpan TIntTraval = TimeSpan.FromMinutes(IntTraval);
        dtTableRow["TravalTime"] = TIntTraval.Minutes;
        dtTableRow["WaitingTime"] = txtWaitingTime.Text;
        int WTO =Convert.ToInt16(txtWaitingTime.Text);
        TimeSpan WTOresult = TimeSpan.FromMinutes(WTO);
        dtTableRow["DepartureTime"] = TMRQ .Add(WTOresult);
        TimeSpan DPTO= TMRQ .Add(WTOresult);
        dtTableRow["HceID"] = ddlHCEPoint0.SelectedValue;
        dtCurrentTable.Rows.InsertAt(dtTableRow, i + 1);
        for (int P=i+1; P < dtCurrentTable.Rows.Count; P++)
        {
            DateTime DepTime = Convert.ToDateTime(dtCurrentTable.Rows[P - 1]["DepartureTime"]);
            var DTMR = Convert.ToDateTime(DepTime);
            var ConDepTime = DTMR - DTMR.Date;
            int TravalTime = Convert.ToInt16(dtCurrentTable.Rows[P - 1]["TravalTime"]);
            TimeSpan ConTravTime = TimeSpan.FromMinutes(TravalTime);
            TimeSpan DDPTO = (ConDepTime.Add(ConTravTime));
            //the Problem shows in TimeSpan DDPTO the value Shows {1.00:20:00}
            //so give me Solution
             
            DateTime DatDDPTO = Convert.ToDateTime("01 01 1920 " + DDPTO.ToString());
            DatDDPTO.ToString("hh:mm tt");
            dtCurrentTable.Rows[P]["ArrivalTime"] = DatDDPTO.ToString("hh:mm tt");
            int WWTO = Convert.ToInt16(dtCurrentTable.Rows[P]["WaitingTime"]);
            TimeSpan WWTOresult = TimeSpan.FromMinutes(WWTO);
            TimeSpan DDD = DDPTO.Add(WWTOresult);
            DateTime DatDTPTO = Convert.ToDateTime("01 01 1920 " + DDD.ToString());
            DatDTPTO.ToString("hh:mm tt");
            dtCurrentTable.Rows[P]["DepartureTime"] = DatDTPTO.ToString("hh:mm tt");
        }
        ViewState["RouteDetails"] = dtCurrentTable;
        GridRouteDetails.DataSource = dtCurrentTable;
        GridRouteDetails.DataBind();
        break;
    }
}

解决方案

Obviously you don't understand why your code fail nor where it fail.
As we can't execute your program, you are the only one able to execute it with the debugger.
The debugger is the tool of choice of programmers you need to learn the debugger, it is mandatory.

The Debugger permit you to execute your program step by step, to inspect variables and track variables changes. This way, you can narrow the research and spot where things go wrong.

https://msdn.microsoft.com/en-us/library/w2faa92k.aspx[^]
https://support.microsoft.com/en-us/kb/316726[^]
https://msdn.microsoft.com/en-us/library/ms227556.aspx[^]

With the debugger, you can spoy yjr guilty line with inputs and output.


这篇关于如何将时间PM添加到AM的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆