<<ABP框架>> 時間

来源:http://www.cnblogs.com/kid1412/archive/2016/10/24/5991436.html
-Advertisement-
Play Games

文檔目錄 本節內容: 簡介 時鐘 客戶端 時區 客戶端 綁定器與轉換器 客戶端 客戶端 簡介 雖然有些應用目標市場只是在一個時區,有些應用目標市場是許多不同時區,為滿足這種需求並集中化日期操作,ABP為日期操作提供公共基礎。 時鐘 Clock是與DateTime值合作的主要對象,它定義了以下靜態屬性 ...


文檔目錄

 

本節內容:

 

簡介

雖然有些應用目標市場只是在一個時區,有些應用目標市場是許多不同時區,為滿足這種需求並集中化日期操作,ABP為日期操作提供公共基礎。

 

時鐘

Clock是與DateTime值合作的主要對象,它定義了以下靜態屬性/方法:

  • Now:通過當前供應器獲取當前時間。
  • Kind:獲取當前供應器的DateTimeKind。
  • SupportsMultipleTimezone:獲取一個值,指示當前供應器能否支持多時區應用。
  • Normalize:把給定的DateTime標準化/轉換成適合當前供應器。

所以,我們用抽象了Colok.Now的DateTime.Now代替DateTime.Now:

DateTime now = Clock.Now;

Clock內部使用了時鐘供應器。有三種內置的時鐘供應器:

  • ClockProviders.Unspecified(UnspecifiedClockProvider):預設的時鐘供應器,行為就像DateTime.Now。它使你完全不用Clock類。
  • ClockProviders.Utc(UtnClockProvideder):用UTC時間,Clock.Now為DateTime.UtcNow。Normalize(標準化)方法把給定的時間轉換成utc時間,並設它的Kind(種類)為DateTimeKind.Local。
  • ClockProviders.Local(LocalClockProvider):用電腦的本地時間,Normailize方法把給定的時間轉換成當地時間,並設置它的種類為DateTimeKind.UTC。它支持多時區。

你可設置Clock.Provider,以便使用一個不同的時鐘供應器:

Clock.Provider = ClockProviders.Utc;

這是在應用程式開始前(在Web應用里就是Application_Start)通常的做法。

 

客戶端

通過javascript的abp.clock對象在客戶端使用時鐘,當你在服務端設置Clock.Provider時,ABP會自動在客戶端設置abp.clock.provider的值。

 

時區

ABP定義了一個名為Abp.Timing.TimeZone設置(TimingSettingNames.TimeZone常量),來存儲被選的宿主時區。ABP假設時區設置的值是一個可用的Windows時區id。同樣定義了一個時區映射文件把一個Windows時區轉換成IANA(互聯網數字分配機構)時區,因為有些公共庫使用的是IANA時區id。為支持多時區必須使用UtcClockProvider。如果使用UtcClockProvider,所有的日期值將存儲為UTC,並用UTC的格式發送給客戶端,然後我們可以在客戶端通過用戶當前時區的設置把UTC日期轉換成用戶的時區。

 

客戶端

ABP創建一個Javascript對象,名為abp.timing.timeZoneInfo,為當前用戶包含時區信息。該信息包含Windows和IANA時區id和一些windows時區額外信息。這些信息可用用戶的時區轉換和顯示給用戶。

 

綁定器和轉換器

  • 在MVC、Web Api和Asp.new Core項目里,ABP自動把接收到的日期按當前時鐘供應器標準化。
  • 當使用EntityFramework或NHibernate模塊時,ABP自動把接收自資料庫的日期按當前時鐘供應器標準化。

如果使用UTC時鐘供應器,所有的存儲在資料庫中的日期都認為是UTC值,和所有接收自客戶端的日期都認為是UTC,除了顯式指明。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.安裝phpStorm,步驟略 2.安裝xampp: 2.1 我下載的版本為:XAMPP 5.6.24(下載最新版裡面沒有xdebug.so文件) 照步驟安裝。 2.2 安裝成功後,啟動一下,看看是否可以運行,在瀏覽器地址欄輸入localhost,查看是否可以進入到xampp網站 。 2.3 點擊 ...
  • 嗬!沒想到吧!學習 Linux 的第三天,我們已經開始接觸用戶管理,用戶組管理,以及許可權管理這幾個逼格滿滿的關鍵字。這幾個關鍵字對於前端程式猿的我來說真的是很高大上有木有,以前嘗試學 Linux 的時候看到這些名詞總是下意識的跳過不敢看有木有,一提起這幾個名詞馬上腦海中總是升騰起無限的崇拜有木有!今 ...
  • 文檔目錄 本節內容: 實體類 聚合根類 領域事件 約定的介面 審計 軟刪除 活躍/消極 實體 實體變化事件 IEntity 介面 領域事件 審計 軟刪除 活躍/消極 實體 實體是DDD一個核心的概念。Eric Evans是這麼描述的:“一個對象根本上不是按它的特性定義的,而是按一個線程的連續性和身份 ...
  • 在做項目的時候,需要輸出資料庫操作的耗時,自己寫了個方法。老大看到後,奇怪我為什麼不用現成的。才知道有StopWatch這個類。 屬性 名稱說明 Elapsed 獲取當前實例測量得出的總運行時間。 ElapsedMilliseconds 獲取當前實例測量得出的總運行時間(以毫秒為單位)。 Elaps ...
  • mvc 碰到 從客戶端(Msg=&quot;...=&quot;pc}oDGY1&lt;h&quot;)中檢測到有潛在危險的 Reque...&quot;)中檢測到有潛在危險的 Request.QueryString 具體參數值 pc}oDGY1<h 引起的錯誤 從網上查在方法前加 [Validat ...
  • .NetCore MVC中的路由(1)路由配置基礎 0x00 路由在MVC中起到的作用 前段時間一直忙於別的事情,終於搞定了繼續學習.NetCore。這次學習的主題是MVC中的路由。路由是所有MVC框架都會實現的一個組件,核心功能就是根據接收到的Http請求中的Path(對於http://local ...
  • 一、Enable-Migrations 說明:為項目啟用遷移。此命令為項目添加Migrations文件夾,其中包括兩個文件: Configuration類:此類允許針對上下文配置遷移的行為 InitialCreate遷移:此遷移在啟用遷移之前生成。如果在啟用遷移之前沒有生成資料庫,則不會將此文件加入 ...
  • 轉自(http://www.cnblogs.com/zhangchenliang/p/4968779.html) 委托是一個類,它定義了方法的類型,使得可以將方法當作另一個方法的參數來進行傳遞。事件是一種特殊的委托。 1.委托的聲明 (1). delegate delegate我們常用到的一種聲明 ... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...