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);
}
}
结果:
来实现区域化设置
2022年3月7日11:05:58(新增)
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("zh-CN", true) { DateTimeFormat = { ShortTimePattern = "HH:mm:ss", ShortDatePattern = "yyyy-MM-dd", FullDateTimePattern = "yyyy-MM-dd HH:mm:ss", LongDatePattern = "yyyy-MM-dd", LongTimePattern = "HH:mm:ss" } };
Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN", true) { DateTimeFormat = { ShortTimePattern = "HH:mm:ss", ShortDatePattern = "yyyy-MM-dd", FullDateTimePattern = "yyyy-MM-dd HH:mm:ss", LongDatePattern = "yyyy-MM-dd", LongTimePattern = "HH:mm:ss" } };