.Net Core 跨平臺 DateTime 中文 上午 下午 解決方案

        static void Main(string[] args)
        {
            Console.WriteLine(DateTime.Now);
            Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN", true) { DateTimeFormat = { ShortDatePattern = "yyyy-MM-dd", FullDateTimePattern = "yyyy-MM-dd HH:mm:ss", LongTimePattern = "HH:mm:ss" } };
            Console.WriteLine(DateTime.Now);
            Task.Run(() => { Console.WriteLine(DateTime.Now); });
            Console.WriteLine("Hello World!");
        }

已解決。

解決方案二,之前是用的當前線程,問題,就是如果不是當前線程怎麼辦。

所以,提供了一個全局的默認設置

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("系統本身: " + DateTime.Now);
            CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("zh-CN", true) { DateTimeFormat = { ShortDatePattern = "yyyy-MM-dd", FullDateTimePattern = "yyyy-MM-dd HH:mm:ss", LongTimePattern = "HH:mm:ss" } };
            Console.WriteLine("設置環境後: " + DateTime.Now);
            Task.Run(() =>
            {
                Console.WriteLine("設置環境後,Task線程: " + DateTime.Now);
            });
            Thread thread = new Thread(new ThreadStart(Run));
            thread.IsBackground = true;
            thread.Start();

            Console.WriteLine("Hello World!");
            Console.ReadLine();
        }
        static void Run()
        {
            Console.WriteLine("設置環境後,Thread線程: " + DateTime.Now);
        }
    }

結果:

 

來實現區域化設置 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章