C#は時間値を計算します

日、時間、分、秒の数を取得するためのAsp.net(C#)時間の減算。
方法1
DateTime dtone = Convert.ToDateTime( "2007-1-1 05:00:00");
DateTime dtwo = Convert。 ToDateTime( "2007 -1-5 08:00:00");
TimeSpan span = dtone.Subtract(dtwo); //アルゴリズムはdtoneからdtwoを引いたものです
tss.Text = span.Days + "天"

  • span.Hours + "時間"
  • span.Minutes + "分"
  • span.Seconds + "秒"
  • span.TotalDays;
    メソッド2
    SpendHours = DiffMinutes(x.ENDTIME, x.REPAIRLOG.Where(y => y.STATUSNOW == 2).OrderByDescending(y => y.CREATETIME).Select(y => y.CREATETIME.Value).FirstOrDefault()) > 0 ? DiffMinutes(x.ENDTIME, x.REPAIRLOG.Where(y => y.STATUSNOW == 2).OrderByDescending(y => y.CREATETIME).Select(y => y.CREATETIME.Value).FirstOrDefault()) : 0,

方法3

 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
        Date d1 = null;
        Date d2 = null;
    
        try {
            d1 = format.parse(dateStart);
            d2 = format.parse(dateStop);
    
            //毫秒ms
            long diff = d2.getTime() - d1.getTime();
    
            long diffSeconds = diff / 1000 % 60;
            long diffMinutes = diff / (60 * 1000) % 60;
            long diffHours = diff / (60 * 60 * 1000) % 24;
            long diffDays = diff / (24 * 60 * 60 * 1000);
    
            System.out.print("两个时间相差:");
            System.out.print(diffDays + " 天, ");
            System.out.print(diffHours + " 小时, ");
            System.out.print(diffMinutes + " 分钟, ");
            System.out.print(diffSeconds + " 秒.");
    
        } catch (Exception e) {
            e.printStackTrace();
        }

成功したテストと使用方法4
ここに画像の説明を挿入します

    TimeSpan span = DateTime.Now - Convert.ToDateTime(sCallTime);
                var ercData = getEmsRCallCount(sCallRepairNo).Where(x => x.CALL_REPAIR_NO == sCallRepairNo).SingleOrDefault();
                {
    
    
                    ercData.CLOSE_TIME = now;
                    ercData.UPDATE_BY = UserSession.Account.Id;
                    //ercData.SPEND_TIMES = (Convert.ToDecimal(now) - Convert.ToDecimal(sCallTime)) / (60 * 1000) % 60;
                    ercData.SPEND_TIMES = Convert.ToDecimal(span.TotalMinutes);
                    ercData.STATUS = 0;
                };

値を
取得したら、その値を整数に変更しますercData.SPEND_TIMES = Convert.ToInt32(span.TotalMinutes);

おすすめ

転載: blog.csdn.net/caoguanghui0804/article/details/110691909