C#long型資料轉化成時間戳(TimeSpan)
阿新 • • 發佈:2020-09-11
.Net中TimeSpan建構函式
1 2 public TimeSpan(long ticks); // 以 100 毫微秒為單位表示的時間段。 3 4 public TimeSpan(int hours, int minutes, int seconds); 5 6 public TimeSpan(int days, int hours, int minutes, int seconds); 7 8 public TimeSpan(int days, int hours, int minutes, intseconds, int milliseconds);
.Net中構造TimeSpan函式
1 // 返回表示指定天數的 System.TimeSpan,其中對天數的指定精確到最接近的毫秒。 2 // 3 // 引數: value: 天數,精確到最接近的毫秒 4 public static TimeSpan FromDays(double value); 5 6 // 返回表示指定小時數的 System.TimeSpan,其中對小時數的指定精確到最接近的毫秒。 7 //引數: value: 精確到最接近的毫秒的小時數。 8 public static TimeSpan FromHours(double value); 9 10 // 返回表示指定毫秒數的 System.TimeSpan。 11 // 引數: value: 毫秒數。 12 public static TimeSpan FromMilliseconds(double value); 13 14 // 返回表示指定分鐘數的 System.TimeSpan,其中對分鐘數的指定精確到最接近的毫秒。15 // 引數: value:分鐘數,精確到最接近的毫秒。 16 public static TimeSpan FromMinutes(double value); 17 18 // 返回表示指定秒數的 System.TimeSpan,其中對秒數的指定精確到最接近的毫秒。 19 // 引數: value: 秒數,精確到最接近的毫秒。 20 public static TimeSpan FromSeconds(double value); 21 22 // 返回表示指定時間的 System.TimeSpan,其中對時間的指定以刻度為單位。 23 // 24 // 引數: 表示時間的刻度數。並非是毫秒數。 25 public static TimeSpan FromTicks(long value); 26 27 // 將時間間隔的字串表示形式轉換為等效的 System.TimeSpan。 28 29 // 引數: s: 一個字串,用於指定進行轉換的時間間隔 30 public static TimeSpan Parse(string s); 31 32 // 使用指定的區域性特定格式資訊,將時間間隔的字串表示形式轉換為其等效的 System.TimeSpan。 33 // 34 // 引數: input: 一個字串,用於指定進行轉換的時間間隔。 35 // formatProvider: 一個提供區域性特定的格式設定資訊的物件。 36 public static TimeSpan Parse(string input, IFormatProvider formatProvider); 37 38 // 使用指定的格式、區域性特定格式資訊和樣式,將時間間隔的字串表示形式轉換為其等效的 System.TimeSpan。 字串表示形式的格式必須與一種指定的格式完全匹配。 39 // input: 一個字串,用於指定進行轉換的時間間隔。 40 // formats: 41 // 用於定義所需的 input 格式的標準或自定義格式字串的陣列。 42 // formatProvider: 一個物件,提供區域性特定的格式設定資訊。 // 43 // styles:列舉值的按位組合,用於定義可出現在 input 中的樣式元素。 44 public static TimeSpan ParseExact(string input, string[] formats, IFormatProvider formatProvider, TimeSpanStyles styles); 45 46 // 使用指定的格式字串陣列和區域性特定格式資訊,將時間間隔的字串表示形式轉換為其等效的 System.TimeSpan。 字串表示形式的格式必須與一種指定的格式完全匹配。 47 // 48 // 引數: input: 一個字串,用於指定進行轉換的時間間隔。 49 // formats: 用於定義所需的 input 格式的標準或自定義格式字串的陣列。 50 // formatProvider: 一個物件,提供區域性特定的格式設定資訊。 51 52 public static TimeSpan ParseExact(string input, string[] formats, IFormatProvider formatProvider); 53 54 // 使用指定的格式和區域性特定格式資訊,將時間間隔的字串表示形式轉換為其等效的 System.TimeSpan。 字串表示形式的格式必須與指定的格式完全匹配。 55 // 引數: input:一個字串,用於指定進行轉換的時間間隔。 56 // format: 用於定義所需的 input 格式的標準或自定義格式字串。 57 // formatProvider: 一個物件,提供區域性特定的格式設定資訊。 58 public static TimeSpan ParseExact(string input, string format, IFormatProvider formatProvider); 59 60 // 使用指定的格式、區域性特定格式資訊和樣式,將時間間隔的字串表示形式轉換為其等效的 System.TimeSpan。 字串表示形式的格式必須與指定的格式完全匹配。 61 // 引數: input:一個字串,用於指定進行轉換的時間間隔。 62 // format: 用於定義所需的 input 格式的標準或自定義格式字串。 63 // formatProvider:一個物件,提供區域性特定的格式設定資訊。 64 // styles: 列舉值的按位組合,用於定義可出現在 input 中的樣式元素。 65 public static TimeSpan ParseExact(string input, string format, IFormatProvider formatProvider, TimeSpanStyles styles); 66 67 // 將時間間隔的字串表示形式轉換為其等效的 System.TimeSpan,並返回一個指示轉換是否成功的值。 68 // 引數: s: 一個字串,用於指定進行轉換的時間間隔。 69 // result: 此方法返回時,包含表示由 s 指定的時間間隔的物件;或者如果轉換失敗,則包含 System.TimeSpan.Zero。 此引數未經初始化即被傳遞。 70 public static bool TryParse(string s, out TimeSpan result); 71 72 // 使用指定的區域性特定格式設定資訊,將時間間隔的字串表示形式轉換為其等效的 System.TimeSpan,並返回一個指示轉換是否成功的值。 73 // 引數: input:一個字串,用於指定進行轉換的時間間隔。 74 // formatProvider:一個提供區域性特定的格式設定資訊的物件。 75 // result: 此方法返回時,包含表示由 input 指定的時間間隔的物件;或者如果轉換失敗,則包含 System.TimeSpan.Zero。 此引數未經初始化即被傳遞。 76 public static bool TryParse(string input, IFormatProvider formatProvider, out TimeSpan result); 77 78 // 使用指定的格式和區域性特定格式資訊,將時間間隔的指定字串表示形式轉換為其等效的 System.TimeSpan,並返回一個指示轉換是否成功的值。 字串表示形式的格式必須與一種指定的格式完全匹配。 79 // 引數: input: 80 // 一個字串,用於指定進行轉換的時間間隔。 81 // 82 // formats: 83 // 用於定義可接受的 input 格式的標準或自定義格式字串的陣列。 84 // 85 // formatProvider: 86 // 一個物件,提供區域性特定的格式設定資訊。 87 // 88 // result: 89 // 此方法返回時,包含表示由 input 指定的時間間隔的物件;或者如果轉換失敗,則包含 System.TimeSpan.Zero。 此引數未經初始化即被傳遞。 90 // 91 // 返回結果: 92 // 如果 true 成功轉換,則為 input;否則為 false。 93 public static bool TryParseExact(string input, string[] formats, IFormatProvider formatProvider, out TimeSpan result); 94 // 95 // 摘要: 96 // 使用指定的格式、區域性特定格式資訊和樣式,將時間間隔的字串表示形式轉換為其等效的 System.TimeSpan,並返回一個指示轉換是否成功的值。 字串表示形式的格式必須與指定的格式完全匹配。 97 // 98 // 引數: 99 // input: 100 // 一個字串,用於指定進行轉換的時間間隔。 101 // 102 // format: 103 // 用於定義所需的 input 格式的標準或自定義格式字串。 104 // 105 // formatProvider: 106 // 一個物件,提供區域性特定的格式設定資訊。 107 // 108 // styles: 109 // 用於指示 input 的樣式的一個或多個列舉值。 110 // 111 // result: 112 // 此方法返回時,包含表示由 input 指定的時間間隔的物件;或者如果轉換失敗,則包含 System.TimeSpan.Zero。 此引數未經初始化即被傳遞。 113 // 114 // 返回結果: 115 // 如果 true 成功轉換,則為 input;否則為 false。 116 public static bool TryParseExact(string input, string format, IFormatProvider formatProvider, TimeSpanStyles styles, out TimeSpan result); 117 118 public static bool TryParseExact(string input, string[] formats, IFormatProvider formatProvider, TimeSpanStyles styles, out TimeSpan result); 119 120 public static bool TryParseExact(string input, string format, IFormatProvider formatProvider, out TimeSpan result);
時間為long型的毫秒轉換成TimeSpan
public TimeSpan(long ticks);// 以 100 毫微秒為單位表示的時間段。 public static TimeSpan FromMilliseconds(double value);//long佔8位元組轉double也是8位元組。精度會丟失
自定義轉換方法
1 private TimeSpan RevertMillsecToTimeSpane(long msec) 2 { 3 long day = 0; 4 long hour = 0; 5 long minute = 0; 6 long second = 0; 7 int millsec = 0; 8 if(msec > 1000) 9 { 10 second = msec / 1000; 11 millsec = (int)(msec % 1000); 12 } 13 if(second > 60) 14 { 15 minute = second / 60; 16 second = second % 60; 17 } 18 if(minute > 60) 19 { 20 hour = minute / 60; 21 minute = minute % 60; 22 } 23 if(hour > 24) 24 { 25 day = hour / 24; 26 hour = hour % 24; 27 } 28 return new TimeSpan((int)day, (int)hour, (int)minute, (int)second, millsec); 29 }