我在下面的格式幾串:轉換不規則字符串時間跨度在C#
「1時15分」
「:45」
「1時三十分45秒」
我需要它們轉換爲TimeSpan,但是當我TimeSpan.Parse其中一些(例如第一個)時,它會將其返回爲1小時15分鐘,我希望它在1分15秒內。
任何意見將不勝感激!
我在下面的格式幾串:轉換不規則字符串時間跨度在C#
「1時15分」
「:45」
「1時三十分45秒」
我需要它們轉換爲TimeSpan,但是當我TimeSpan.Parse其中一些(例如第一個)時,它會將其返回爲1小時15分鐘,我希望它在1分15秒內。
任何意見將不勝感激!
在未知字符串需要在下面指定的具體形式:
[ws][-]{ d | [d.]hh:mm[:ss[.ff]] }[ws]
因此,「1:15」,將作爲處理HH:MM。如果您傳遞1分15秒,則需要將參數字符串重新格式化爲"00:01:15"
。您可以簡單地將字符串分割爲相應的天,小時,分鐘,ss變量並使用它們來分配您的TimeSpan對象。
MSDN這裏有很好的文檔:
你可以使用的TimeSpan.ParseExact
過載,它允許您指定的確切format specifiers陣列。
var formats = new string[] {@"m\:s", @"\:s", ...};
var timeSpace = TimeSpan.ParseExact(input, formats, CultureInfo.CurrentCulture);
注意ParseExact
以.Net推出4
謝謝!奇蹟般有效 – CCEPROD 2013-02-09 06:51:29
哈哈這實際上是我需要擺脫它......像「零時01分15秒」的字符串這就是我所需要的時間跨度爲。但是這確實給了我一個關於如何獲得這個字符串的想法,所以謝謝! – CCEPROD 2013-02-09 06:52:01