.NET 客戶端把服務端的UTC 時間轉換成Local 時間
阿新 • • 發佈:2019-02-04
1. 服務端把DateTime型別轉long 型別
2. 客戶端建立本地時間
3. 格式化時間(可選)
1. 服務端把DateTime型別轉long 型別
public static class DateTimeExtension { public static long UnixTimestampFromDateTime(this DateTime date) { long unixTimestamp = date.Ticks - new DateTime(1970, 1, 1).Ticks; unixTimestamp /= TimeSpan.TicksPerMillisecond; return unixTimestamp; } }
2.客戶端 轉換時間
3.JS 載入外掛function UTCToLocal(container) { container.find(".date").each(function () { if ($(this).html() != "" && $(this).html() != null) { var localDate = new Date(Number($(this).html())); //<pre name="code" class="html">Number($(this).html()) 為服務端轉換好的long型別 $(this).html(localDate.Format("MM/dd/yyyy")); //設定時間格式, 這個需要一個時間外掛 } });}
Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, "d+": this.getDate(), "h+": this.getHours(), "m+": this.getMinutes(), "s+": this.getSeconds(), "q+": Math.floor((this.getMonth() + 3) / 3), "S": this.getMilliseconds() }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; }