2012-06-13 11 views
9

मैं .net 3.5 में एक समाधान के लिए देख रहा हूँ के लिए एस एस मैं अगले कार्य समाधान लिखा है:स्वरूप TimeSpan: सकारात्मक और नकारात्मक timespans

private string FormatTimeSpan(TimeSpan time) 
{ 
    return String.Format("{0}{1:00}:{2:00}", time < TimeSpan.Zero ? "-" : "", Math.Abs(time.Minutes), Math.Abs(time.Seconds)); 
} 

लेकिन मेरे सवाल है: वहाँ एक बेहतर तरीका है? शायद कुछ छोटा जहां मुझे एक सहायक समारोह की आवश्यकता नहीं है।

उत्तर

21

कुछ हद तक कम, Custom TimeSpan Format Strings का उपयोग कर:

private string FormatTimeSpan(TimeSpan time) 
{ 
    return ((time < TimeSpan.Zero) ? "-" : "") + time.ToString(@"mm\:ss"); 
} 
+0

ऋणात्मक चिह्न time.ToString से स्वचालित रूप से प्रकट नहीं करना चाहिए ()? – Tisho

+4

@ टिशो - यह कस्टम प्रारूप स्ट्रिंग के साथ नहीं है। और इसके लिए कोई कस्टम प्रारूप निर्दिष्ट नहीं है। – Oded

+1

ओह, ठीक है। यह केवल "सी", "जी" के लिए काम करता है .. धन्यवाद। – Tisho

2

नेट 4.0 नीचे

के लिए आप उपयोग कर सकते हैं:

get { return Time.ToString().Substring(3); } 
+0

मुझे लगता है कि यह एक स्मार्ट हैक है। – Infrid

संबंधित मुद्दे