DateTime.Now 在.netcore下的格式问题

      最近在使用.netcore做跨平台开发的时候碰到一个小问题,在数据库中需要保存一个时间字段,时间字段是通过DateTime.Now来获取的,当在Window平台上运行时候一切正常,但是当部署到Linux平台上运行后,提示保存失败,提示如下:

DateTime.Now 在.netcore下的格式问题_第1张图片 

        很明显,这个时间件格式变成了带中文"上午 下午"的模样,而不是常见的“yyyy-MM-dd HH:mm:ss”的格式,因此导致了保存出错,这很容易就想到了这和操作系统环境有关系,怎么解决呢,查阅了一些资料,其实也很简单,只需要在Main函数中添加如下的代码就可以了。

        public static void Main(string[] args)
        {
            CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("zh-CN", true) { DateTimeFormat = { ShortDatePattern = "yyyy-MM-dd", FullDateTimePattern = "yyyy-MM-dd HH:mm:ss", LongTimePattern = "HH:mm:ss" } };
            CreateHostBuilder(args).Build().Run();
        }

      亲测有效,有碰到相同问题的朋友可以试试看:)

你可能感兴趣的:(web,asp.net,core,Linux,c#,asp.net)