2010-04-26 5 views
7

Time.ToString("0.0") में एक स्वरूपित स्ट्रिंग में एक समय कनवर्ट करें 1:30 के बजाय दशमलव "1.5" के रूप में दिखाया गया है। मैं इसे समय प्रारूप में प्रदर्शित करने के लिए कैसे प्राप्त कर सकता हूं?सी #

private void xTripSeventyMilesRadioButton_CheckedChanged(object sender, EventArgs e) 
{ 
    //calculation for the estimated time label 
    Time = Miles/SeventyMph; 
    this.xTripEstimateLabel.Visible = true; 
    this.xTripEstimateLabel.Text = "Driving at this speed the estimated travel time in hours is: " + Time.ToString("0.0") + " hrs"; 
} 
+0

समय किस प्रकार का है? क्या यह फ्लोट है? –

उत्तर

25
Time.ToString("hh:mm") 

प्रारूप:

HH:mm = 01:22 
hh:mm tt = 01:22 AM 
H:mm = 1:22 
h:mm tt = 1:22 AM 
HH:mm:ss = 01:22:45 

संपादित करें: अब चूंकि हम जानते हैं समय (यह मानते हुए आप घंटे और मिनट चाहते हैं) के लिए कोड एक double परिवर्तन है:

// This will handle over 24 hours 
TimeSpan ts= System.TimeSpan.FromHours(Time); 
string.Format("{0}:{1}", System.Math.Truncate(ts.TotalHours).ToString(), ts.Minutes.ToString()); 

या

// Keep in mind this could be bad if you go over 24 hours 
DateTime.MinValue.AddHours(Time).ToString("H:mm"); 
+0

एक आकर्षण की तरह काम किया –

+0

यदि यह सही उत्तर है तो कृपया इसे चिह्नित करें :) – Kelsey

+0

यह मेरे लिए भी काम करता था, हालांकि मैं यह जोड़ता हूं कि ऐसा करने पर संस्कृति में गुजरना अच्छा अभ्यास है। ToString(), या तो CultureInfo। InvariantCulture या CultureInfo.CurrentCulture (माइक्रोसॉफ्ट FxCop यह भी सिफारिश करता है) – mattytommo

2

मुझे लगता है कि TimeTimeSpan प्रकार का है? उस मामले में, the documentation of TimeSpan.ToString, आप मदद कर सकते हैं विशेष रूप से पृष्ठों

यदि समय एक संख्यात्मक डेटा प्रकार है, तो आप इसे TimeSpan.FromHours का उपयोग पहले टाइमस्पेन में बदलने के लिए कर सकते हैं।

(संपादित करें: TimeSpan प्रारूप तार नेट 4 में शुरू किया गया)

2

तो Time एक System.Double है, तो System.TimeSpan.FromHours(Time).ToString();

+0

(सिस्टम। टाइमस्पेन.फ्रोहोर्स (टाइम)। टॉस्ट्रिंग()) बहुत अच्छा काम करता है लेकिन मैं 00: 00: 00.00000 –

+0

स्ट्रिंग के बजाय केवल 8:30 डालने के लिए स्ट्रिंग को कैसे जोड़ सकता हूं। फोर्मेट ("{0: एचएच: एमएम}", डेटटाइम। मिनवैल्यू + टाइमस्पैन .FromHours (Time)) – Jono

+0

यदि आप सोच रहे हैं, तो अन्य उपयोगकर्ताओं द्वारा प्रस्तावित अधिक सुरुचिपूर्ण तरीके .NET 4.0 – Jono

0

तो समय नाव है या दोगुना आप करना होगा। सिस्टम। गणित। समय बचाने के लिए समय

और फिर (टाइम - सिस्टम.माथ। ट्रांकेट (समय)) * 60 मिनट प्राप्त करने के लिए।

+0

पर नए जोड़े हैं हां यह एक डबल है, लेकिन मैं सी # के लिए नया हूं और सामान्य रूप से प्रोग्रामिंग यह मेरा है कक्षा में दूसरा असाइनमेंट ताकि आप इसका उपयोग कैसे करें इस पर विस्तार से बता सकते हैं। मैं लेगवर्क करूँगा सिर्फ दिशा की जरूरत है। –

1

ध्यान दें कि यदि आप 24 घंटे के आधार पर काम करते हैं, तो HH:mm और hh:mm का उपयोग करना बहुत महत्वपूर्ण है।

कभी कभी मैं गलती से hh:mm लिखते हैं, और उसके बाद के बजाय "13:45" मैं "01:45" मिलता है, और कोई रास्ता नहीं पता करने के लिए कि क्या यह AM या PM है (जब तक आप tt का उपयोग करें) है।

0

सभी प्रतिक्रियाओं के लिए धन्यवाद दोस्तों और gals मैंने अपने कार्यक्रम के लिए इस DateTime.MinValue.AddHours(Time).ToString("H:mm"); का उपयोग किया क्योंकि यह लागू करने वाला सबसे आसान था।

0

आप सांख्यिक चर से एक समयावधि बनाएं:

TimeSpan ts = new TimeSpan(Math.Floor(Time), (Time - Math.Floor(Time))*60); 

फिर, ToString विधि का उपयोग करें।