Time Format Conversion

Source: Internet
Author: User
Tags time in milliseconds

Time Format Conversion
 Time format conversion class

Time string format and millisecond form conversion class.

Using System; namespace myspace {////// Specify several constants, indicating the timing format. ///Public enum TimingFormat: byte {////// Millisecond. ///MS ,////// Second ///S ,////// Minute ///M ,////// Hour ///H ,////// Seconds ///S_Ms ,////// Minute second ///M_S ,////// Hour ///H_M ,////// Minute second millisecond ///M_S_Ms ,////// Minutes and seconds ///H_M_S ,////// Hour minute second millisecond ///H_M_S_Ms }////// Time string form and millisecond form conversion class. ///Public static class TimeFormat {# region converts the time in milliseconds to the string format ////// Convert the time in milliseconds to a part or whole of the string format (00:00:00. 000. //////The number of milliseconds.///A part of time///
 
  
Time string format.
 Public static string ToTimeString (ulong milliseconds, TimingFormat format) {ulong MS = milliseconds % 1000; ulong s = milliseconds/1000; ulong h = s/3600; ulong m = (s-(h * 3600)/60; s = s-(h * 3600 + m * 60); switch (format) {case TimingFormat. ms: return string. format ("{0: D3}", MS); case TimingFormat. s: return string. format ("{0: D2}", s); case TimingFormat. m: return string. format ("{0: D2}", m); case TimingFormat. h: return string. format ("{0: D2}", h); case TimingFormat. s_Ms: return string. format ("{0: D2 }. {1: D3} ", s, MS); case TimingFormat. m_S: return string. format ("{0: D2 }:{ 1: D2}", m, s); case TimingFormat. h_M: return string. format ("{0: D2 }:{ 1: D2}", h, m); case TimingFormat. m_S_Ms: return string. format ("{0: D2 }:{ 1: D2 }. {2: D3} ", m, s, MS); case TimingFormat. h_M_S: return string. format ("{0: D2 }:{ 1: D2 }:{ 2: D2}", h, m, s); default: return string. format ("{0: D2 }:{ 1: D2 }:{ 2: D2 }. {3: D3} ", h, m, s, MS) ;}# endregion # region converts the time in the string form to the millisecond form ////// Converts a part or all of the string format (00:00:00. 000) to a time in milliseconds. //////Time string format.///String format.///
 
  
Time in milliseconds.
 Public static ulong ToTimeULong (string timeStr, TimingFormat format) {timeStr = timeStr. trim (); switch (format) {case TimingFormat. h: return Convert. toUInt64 (timeStr) * 3600*1000; case TimingFormat. m: return Convert. toUInt64 (timeStr) * 60*1000; case TimingFormat. s: return Convert. toUInt64 (timeStr) * 1000; case TimingFormat. ms: return Convert. toUInt64 (timeStr); case TimingFormat. s_Ms: string [] sms = timeStr. split ('. '); return ToTimeULong (sms [0], TimingFormat. s) + ToTimeULong (sms [1], TimingFormat. ms); case TimingFormat. m_S: string [] MS = timeStr. split (':'); return ToTimeULong (MS [0], TimingFormat. m) + ToTimeULong (MS [1], TimingFormat. s); case TimingFormat. h_M: string [] hm = timeStr. split (':'); return ToTimeULong (hm [0], TimingFormat. h) + ToTimeULong (hm [1], TimingFormat. m); case TimingFormat. m_S_Ms: string [] msms = timeStr. split (':'); return ToTimeULong (msms [0], TimingFormat. m) + ToTimeULong (msms [1], TimingFormat. s_Ms); case TimingFormat. h_M_S: string [] hms = timeStr. split (':'); return ToTimeULong (hms [0], TimingFormat. h) + ToTimeULong (hms [1], TimingFormat. m) + ToTimeULong (hms [2], TimingFormat. s); default: string [] hmsms = timeStr. split (':'); return ToTimeULong (hmsms [0], TimingFormat. h) + ToTimeULong (hmsms [1], TimingFormat. m) + ToTimeULong (hmsms [2], TimingFormat. s_Ms) ;}# endregion }}

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.