Time format conversion and format conversion

Source: Internet
Author: User
Tags time in milliseconds

Time format conversion and format conversion
 Time format conversion class

Time string format and millisecond form conversion class.

Using System; namespace myspace {/// <summary> /// specify several constants, indicating the timing format. /// </Summary> public enum TimingFormat: byte {// <summary> /// millisecond. /// </Summary> Ms, /// <summary> /// second /// </summary> S, /// <summary> /// // </summary> M, /// <summary> /// // </summary> H, /// <summary> // The second is superb /// </summary> S_Ms, /// <summary> /// minute second /// </summary> M_S, /// <summary> /// hour // </summary> H_M, /// <summary> /// minute second millisecond /// </summary> M_S_Ms, /// <summary> /// hour and second /// </summary> H_M_S, /// <summary> /// minute-second millisecond // </summary> H_M_S_Ms} /// <summary> // The time string format matches the millisecond format Conversion class. /// </Summary> public static class TimeFormat {# region converts the time in milliseconds to the string format. /// <summary> /// converts the time in milliseconds to a string. (00:00:00. 000. /// </Summary> /// <param name = "milliseconds"> Number of milliseconds. </Param> /// a string of <param name = "format"> A part of the time </param> /// <returns>. </Returns> 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 string format time to the millisecond format // <summary> // converts the string format (00:00:00. 000. /// </Summary> /// <param name = "timeStr"> string format of time. </Param> /// <param name = "format"> string format. </Param> // <returns> time in milliseconds. </Returns> 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.