计算时间戳和单独的时间 [英] Calculation of timestamps and separate time

查看:91
本文介绍了计算时间戳和单独的时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想计算两个时间戳和一个时间字段,以便计算活动的小时和分钟。



如何解决这个问题最好的?



 私人  void  BerekenPeriode()
{
// 启动DATETIME dd-MM- yyyy HH:MM:SS
string theDateStart = dateTimePicker1.Value.ToString( dd-MM-yyyy);
XX_Starttijd.Text = theDateStart + + CMB_TIJD_START_HH.Text + + CMB_TIJD_START_MM.Text + :00\" ;

// STOP DATETIME dd-MM-yyyy HH:MM:SS
string theDateSTOP = dateTimePicker2.Value.ToString( DD-MM-YYYY);
XX_Stoptijd.Text = theDateSTOP + + CMB_TIJD_STOP_HH.Text + + CMB_TIJD_STOP_MM.Text + :00\" ;

// Pauze TIME HH:MM
XX_Pauze.Text = CMB_Pauze_HH.Text + + CMB_Pauze_MM.Text;

/// /计算
// TIMSTAMP STOP(XX_Stoptijd) - TIMSTAMP START(XX_Starttijd) - TIME pauze(XX_Pauze)= HH:MM结果???

LB_DeclarabeleTijd.Text = // 结果;

}





我的尝试:



我在线提供样品,但我不能。部分是因为我也在标签领域工作。

解决方案

请试试这个



 DateTime result =((Convert.ToDateTime(XX_Stoptijd.Text).Subtract(Convert.ToDateTime(XX_Starttijd.Text))。Subtract(Convert.ToDateTime(XX_Pauze.Text)))。ToString(  H:mm
CultureInfo.InvariantCulture);


试试这个

 DateTime start = DateTime.ParseExact(XX_Starttijd.Text,  dd-MM-yyyy HH:mm:ss,System.Globalization.CultureInfo.InvariantCulture); 
DateTime stop = DateTime.ParseExact(XX_Stoptijd。文本, dd-MM-yyyy HH:mm:ss,System.Globalization.CultureInfo.InvariantCulture );
TimeSpan ts =停止 - 开始;
int hours = int .Parse(CMB_Pauze_HH.Text);
int minues = int .Parse(CMB_Pauze_MM.Text);
TimeSpan pauseTime = new TimeSpan(小时,小写, 00 );
var final = ts - pauseTime;
LB_DeclarabeleTijd.Text = string .Format( {0}:{1},final.Hours,final.Minutes);





负责验证,例如小时数应为01,10,14(2位数),分钟为01 ,05,10,25,33(2位数)


I would like to make a calculation of two timestamps and an time field in order to calculate the hours and minutes of activity.

How can I solve this the best?

private void BerekenPeriode()
{
    //Start DATETIME dd-MM-yyyy HH:MM:SS
    string theDateStart = dateTimePicker1.Value.ToString("dd-MM-yyyy");
    XX_Starttijd.Text = theDateStart + " " + CMB_TIJD_START_HH.Text + ":" + CMB_TIJD_START_MM.Text + ":00";

    //STOP DATETIME dd-MM-yyyy HH:MM:SS
    string theDateSTOP = dateTimePicker2.Value.ToString("dd-MM-yyyy");
    XX_Stoptijd.Text = theDateSTOP + " " + CMB_TIJD_STOP_HH.Text + ":" + CMB_TIJD_STOP_MM.Text + ":00";

    //Pauze TIME HH:MM
    XX_Pauze.Text = CMB_Pauze_HH.Text + ":" + CMB_Pauze_MM.Text;

    //// Calculation
    //TIMSTAMP STOP (XX_Stoptijd) - TIMSTAMP START (XX_Starttijd) - TIME pauze (XX_Pauze) = HH:MM RESULT???

    LB_DeclarabeleTijd.Text = //RESULT;

}



What I have tried:

I confess at samples online but I can not. Partly because I'm also work from a label field.

解决方案

Please try this

DateTime result =((Convert.ToDateTime(XX_Stoptijd.Text).Subtract(Convert.ToDateTime(XX_Starttijd.Text)).Subtract(Convert.ToDateTime( XX_Pauze.Text))).ToString("H:mm", 
                  CultureInfo.InvariantCulture);


try this

DateTime start = DateTime.ParseExact(XX_Starttijd.Text, "dd-MM-yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
          DateTime stop = DateTime.ParseExact(XX_Stoptijd.Text, "dd-MM-yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
          TimeSpan ts = stop - start;
          int hours = int.Parse(CMB_Pauze_HH.Text);
          int minues = int.Parse(CMB_Pauze_MM.Text);
          TimeSpan pauseTime = new TimeSpan(hours, minues, 00);
          var final = ts - pauseTime;
          LB_DeclarabeleTijd.Text = string.Format("{0}:{1}", final.Hours, final.Minutes);



take care of validation, like the Hours should be 01,10,14 ( 2 digit ), Minutes as 01,05,10,25,33 ( 2 digit )


这篇关于计算时间戳和单独的时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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