第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 JSON 日期時間轉換為 C# 并忽略時區(qū)?

將 JSON 日期時間轉換為 C# 并忽略時區(qū)?

C#
倚天杖 2022-10-23 13:36:21
我有一個場景,用戶從角度輸入日期(例如 2018 年 11 月 30 日)。當我將此日期從 json 解析為 c# 時,它以 11/30/2018 4:00 或任何時區(qū)出現。如果我在像美國一樣的 -UTC 時區(qū),這很好。如果我在印度或日本有用戶,則會轉換為 2018 年 11 月 29 日 5:30。這不好。無論用戶居住在哪個時區(qū),如何轉換 json 并保留用戶輸入的日期?如果用戶在加利福尼亞州輸入 11/30/2018,而用戶在日本輸入 11/30/2018,則兩種情況下的最終結果都需要為 11/30/2018 0:00這是我下面的轉換代碼 strChangedData = [{\"EndDt\":\"2018-11-30T04:00:00.000Z\"}]List<MyModel> objMyModel = (List<MyModel>)Newtonsoft.Json.JsonConvert.DeserializeObject(strChangedData,                            typeof(List<MyModel>), GetJsonSettings());  public static JsonSerializerSettings GetJsonSettings()        {            var settings = new JsonSerializerSettings            {                DateFormatHandling = DateFormatHandling.IsoDateFormat,                DateTimeZoneHandling = DateTimeZoneHandling.Utc,                DateParseHandling = DateParseHandling.DateTime            };            return settings;        }
查看完整描述

4 回答

?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

實際上,請仔細檢查您的 json 代碼中的日期。我覺得它們可能已經在 javascript 中進行了轉換。


還將 jsonsettings 更改為


public static JsonSerializerSettings GetJsonSettings()

        {

            var settings = new JsonSerializerSettings

            {

                DateFormatHandling = DateFormatHandling.IsoDateFormat,

                DateTimeZoneHandling = DateTimeZoneHandling.Local,

                DateParseHandling = DateParseHandling.DateTime

            };


            return settings;

        }


查看完整回答
反對 回復 2022-10-23
?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

你可能會取得一些成功IsoDatetimeConverter。我會嘗試這樣的事情:

var isoDateConverter = new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd" };
var objMyModel = JsonConvert.DeserializeObject<List<MyModel>>(strChangedData, isoDateConverter);


查看完整回答
反對 回復 2022-10-23
?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

如果當前使用的是 DateTime,您可能想要MyModel使用 DateTimeOffset。您可以使用 獲取日期.ToShortDateString(),但如果您不使用 DateTimeOffset,如果他們的用戶位于不同的時區(qū),您可能會無意中更改日期。

這是一個例子:https ://dotnetfiddle.net/OA06L9


查看完整回答
反對 回復 2022-10-23
?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

如果您的用戶選擇了一個日期,您不應該發(fā)回日期和時間以及時區(qū)偏移量。只需發(fā)送日期:

{"EndDt":"2018-11-30"}

然后,您無需更改 Json 解析器中的任何默認日期設置。

請注意,如果您的前端正在使用,則該屬性已屬性<input type="date">中提供給您。您不應從該值創(chuàng)建 JavaScript 對象。valueDate

但是,如果您使用的其他日期選擇器控件只返回一個Date對象,那么您需要從中提取本地年、月和日期來構造返回字符串。Moment.js 之類的庫可以提供幫助,一些日期選擇器可以原生使用 Moment。

如果您在這方面需要更具體的建議,請?zhí)峁┯嘘P您的日期選擇器的更多信息。


查看完整回答
反對 回復 2022-10-23
  • 4 回答
  • 0 關注
  • 207 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號