System.DateTimeKind 的用法
最近在使用SQLite的数据库,发现SQLiteConnection类,有一个属性DateTimeKind
去msdn上找了下资料,http://msdn.microsoft.com/en-us/library/shx7s921(v=vs.110).aspx
写了一个demo加深理解,代码已经上传至https://github.com/chucklu/Test/blob/master/DotNetFrameworkClassLibrary/System/DateTimeKind/DateTimeKindDemo/Program.cs
想学习,如何使用git和github的同学,可以加我的qq群 程序员之家146605007
/// <summary> /// DateTimeKind测试 /// </summary> class Program { static readonly string dateTimeFormat = "yyyy-MM-dd HH:mm:ss"; static void Main(string[] args) { DateTime now = DateTime.Now; DateTime utcNow = DateTime.UtcNow; Console.WriteLine(string.Format("Local时间{0}", now.ToString(dateTimeFormat))); Console.WriteLine(string.Format("UTC时间{0}", utcNow.ToString(dateTimeFormat))); Console.WriteLine(); DateTime tmpTime; tmpTime = now.ToUniversalTime(); Console.WriteLine(string.Format("Local时间转换为UTC时间 {0}", tmpTime.ToString(dateTimeFormat))); tmpTime = utcNow.ToLocalTime(); Console.WriteLine(string.Format("UTC时间转换为Local时间 {0}", tmpTime.ToString(dateTimeFormat))); Console.WriteLine(); //系统时区,为北京时间 tmpTime = DateTime.SpecifyKind(now,DateTimeKind.Unspecified); //未指定时间的话,转换Local的时候,时间默认为UTC的,加上当前系统的时区的时差+8,也就是加上8个小时 Console.WriteLine(string.Format("Unspecified时间转换为Local时间 {0}", tmpTime.ToLocalTime().ToString(dateTimeFormat))); //未指定时间的话,转换UTC的时候,时间默认为Local的,加上当前系统的时区的时差-8,也就是减去8个小时 Console.WriteLine(string.Format("Unspecified时间转换为UTC时间 {0}", tmpTime.ToUniversalTime().ToString(dateTimeFormat))); Console.ReadLine(); } }
另外还需要吐槽下,SQLite的时间建议按照"yyyy-MM-dd HH:mm:ss"的格式进行插入,其他格式可以参考https://www.sqlite.org/lang_datefunc.html
bool类型必须按照"1或0"插入,不可以用true和false插入
虽然明白了DateTimeKind的作用,但是实际使用的时候,发现SQLite貌似不太支持
public DateTimeKind DateTimeKind { public get; public set; }
这个属性,设置和不设置,没有区别
作者:Chuck Lu GitHub |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了