计算时间戳和单独的时间 [英] Calculation of timestamps and separate time
本文介绍了计算时间戳和单独的时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想计算两个时间戳和一个时间字段,以便计算活动的小时和分钟。
如何解决这个问题最好的?
私人 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屋!
查看全文