![](/img/trans.png)
[英]Convert “M/d/yyyy h:mm:ss tt” to “YYYY-MM-DDThh:mm:ss.SSSZ”
[英]How can I get the value of a date into a string in the format YYYY-MM-DDThh:mm:ss.sssZ for CosmosDB?
我正在使用的 CosmosDB 數據庫建議我將 DateTime 存儲在一個字符串中。
所以我正在嘗試這樣做:
string DateAndTime = DateTime.Now.ToString()
但它沒有給我正確的格式。 有沒有辦法做到這一點並將其轉換為這種確切的格式:YYYY-MM-DDThh:mm:ss.sssZ?
如果您尚未使用DocumentClient
,則可以使用它與您的集合進行交互。
使用DocumentClient
意味着您可以根據需要定義文檔類型,而無需手動將字段轉換為字符串。 例如,您可以使用以下類型從集合中創建/查詢文檔:
public class CosmosDocument
{
[JsonProperty("id")]
public string Id { get; set; }
public DateTime TimeStamp { get; set; }
}
DocumentClient
然后將為您序列化/反序列化/模型綁定數據,包括DateTime
值。
如果您需要對默認設置進行任何更改,則可以配置序列化。
編輯
如評論中所述, CosmosClient是提供上述相同功能的較新版本。
根據自定義日期和時間格式字符串,您應該使用類似的東西
string DateAndTime = DateTime.Now.ToString("yyyy-MM-ddThh:mm:ss.sssz");
它將為您提供以下字符串2020-04-04T11:19:06.06+3
yyyy
表示四位數年份( YYYY
格式不存在), dd
表示月份中的日期(從 01 到 31)。 z
用於您的本地時區和 UTC 之間的偏移量
字符串中的大寫Z
文字表示日期時間為 UTC 格式(根據 ISO 8601 標准)。 要在結果字符串中逐字獲取它,您可以使用DateTime.UtcNow
而不是DateTime.Now
,最后帶有Z
文字或K
說明符
string DateAndTime = DateTime.UtcNow.ToString("yyyy-MM-ddThh:mm:ss.sssK");
它為您提供2020-04-04T08:49:22.22Z
(UTC 格式的當前日期時間)。 K
說明符將為 UTC 日期添加Z
文字,為本地日期添加偏移量(以zzz
格式)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.