Closed Yumitoya8569 closed 1 year ago
能说出具体例子吗,是插入还是查询(查询是驱动自带的绑定)
https://www.donet5.com/Home/Doc?typeId=2542 你看看这个自定义类型是否能满足你的需求
是查詢, 我再研究看看
研究後發現dotnet的DateTime原生設計很有問題
在運算時根本不考慮DateTimeKind
DateTime unTime = new DateTime(2023, 7, 4, 10, 0, 0, DateTimeKind.Unspecified);
DateTime utcTime = new DateTime(2023, 7, 4, 10, 0, 0, DateTimeKind.Utc);
Console.WriteLine(unTime == utcTime); // True
默認轉換器轉換成JSON格式時卻不同
// 轉換成 2023-07-04T10:00:00
DateTime unTime = new DateTime(2023, 7, 4, 10, 0, 0, DateTimeKind.Unspecified);
// 轉換成 2023-07-04T10:00:00Z
DateTime utcTime = new DateTime(2023, 7, 4, 10, 0, 0, DateTimeKind.Utc);
該格式在js的默認行為又不同
// 轉換成本機時間
new Date('2023-07-04T10:00:00')
// 轉換成UTC+0
new Date('2023-07-04T10:00:00Z')
這個設計真的絕了
參考您提供的方案要在每個模型上設定Converter較繁瑣 而且C#運算時不考慮DateTimeKind 所以目前不打算在C#上處理這個問題了
謝謝
好的。
環境
SqlSugarCore 5.1.4.84
問題
對應到Oracle的Date欄位 SqlSugar映射後DateTime類型為
DateTimeKind.Unspecified
如果專案在設計層上假定資料庫所有不帶時區的時間都默認為UTC+0 是否有方法設置DateTime默認映射為
DateTimeKind.Utc
?