[英]Timestamp format with Timezone C#
對於以下代碼,這將是 output (2020-06-05T23:02:24.554+05:30)。 我想要(+05:30)中沒有“:”的時區,並且期望像(+0530)一樣。 如何使用日期時間格式來實現這一點? 我可以使用字符串操作刪除冒號,但日期時間格式本身應該有一些選項,如果有人建議會非常好。
string date = String.Format("{0:s}.{0:fff}{0:zzz}", DateTime.Now);
沒有這樣做的標准方法,但是您可以編寫一個自定義方法,例如無需測試就需要時間並按照您的要求返回 utc:
public static string GetUtc(DateTime dateTime)
{
return $"{dateTime:zzz}".Replace(":", "");
}
並稱它為
GetUtc(DateTime.Now);
這將為您返回 +0530。
順便說一句,我也參考從 DateTime 獲取時區以供閱讀。
您可以使用 DateTimeOffset 而不是 DateTime 來獲得您所追求的。
var now = DateTimeOffset.Now;
string date = string.Format("{0}{1}{2}", now.ToString("s.fff"), now.Offset.Ticks < 0 ? "-" : "+", now.Offset.ToString("hhmm"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.