簡體   English   中英

比較C#中的2個時間字符串

[英]Compare 2 strings of time in C#

所以我有一個字符串00:00:15:185,我需要告訴它大於15秒。

時間格式為HH:m:ss:FFF

這顯然超過15秒,但我無法正確比較。

當前代碼是這樣的:

value = "00:00:15:185";    
if (DateTime.Parse(value) > DateTime.Parse("00:00:15:000"){
    //do stuff
}

當我一直運行它時,它會給出異常,而當它應該運行時,該程序將無法運行

您的字符串不表示一個時間,但時間 我們有TimeSpan

var value = "00:00:15:185";
if (TimeSpan.ParseExact(value, @"hh\:mm\:ss\:FFF", CultureInfo.InvariantCulture)
        > TimeSpan.FromSeconds(15)) 
{
    //do stuff
}

另一個選項(除了@rob的答案),請使用DateTime.ParseExact

    var value = "00:00:15:185";    

    if (DateTime.ParseExact(value, "HH:mm:ss:fff", CultureInfo.InvariantCulture) > 
        DateTime.ParseExact("00:00:15:000", "HH:mm:ss:fff", CultureInfo.InvariantCulture))
    {
        // logic here.  
    }
 DateTime time = DateTime.Now;
String result = time.ToString("HH:mm ");

 DateTime firstTimr = DateTime.ParseExact(reader["shift_start_time"].ToString(), "HH:mm:tt", null);
 String firstTimr1 = firstTimr.ToString("HH:mm ");
DateTime lastTime = DateTime.ParseExact(reader["Shift_last_time"].ToString(), "HH:mm:tt", null);
String lastTime1 = lastTime.ToString("HH:mm ");

if (DateTime.Parse(result) >= DateTime.Parse(firstTimr1) && (DateTime.Parse(result) <= DateTime.Parse(lastTime1)))
                    {
                       `enter code here` MessageBox.Show("First Shit");

                    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM