如何设置到本地时间日期格式
本文关键字:时间 日期 格式 何设置 设置 | 更新日期: 2023-09-27 17:56:28
我想在一个地方设置格式化以显示日期时间的字符串/我希望每次编写ToString()时格式都是"dd/MM/yyyy HH:mm:ss",因此它将是默认格式。我试过了
CultureInfo ci = new CultureInfo(lang);
ci.DateTimeFormat.LongDatePattern = "dd/MM/yyyy HH:mm:ss";
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(ci.Name)
没有成功。
我建议你选择以下内容。
您可以添加如下所示的扩展方法:
public static class LocalDateTime
{
public static string ToLocalDateTime(this DateTime dt)
{
return dt.ToString("dd/MM/yyy HH:mm:ss");
}
}
有了上面,你可以只调用datetimeObj.ToLocalDateTime();
而不是ToString()
方法。
我认为这就是您要查找的:
var ci = (CultureInfo)CultureInfo.CurrentCulture.Clone();
ci.DateTimeFormat.ShortDatePattern = "dd/mm/yyyy";
ci.DateTimeFormat.LongTimePattern = "hh:mm:ss";
Thread.CurrentThread.CurrentCulture = ci;
Console.WriteLine(DateTime.Now);
尝试像这样设置当前区域性:
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;
string thetime = DateTime.UtcNow.TimeOfDay.ToString(//yourtimeformat);
这带来了世界时间
string thetime = DateTime.Now.TimeOfDay.ToString(//yourtimeformat);
您当前的系统时间
试试这个:
CultureInfo ci = new CultureInfo("en-US");
ci.DateTimeFormat.LongDatePattern = "dd/MM/yyyy HH:mm:ss";
CultureInfo.DefaultThreadCurrentCulture = ci;
CultureInfo.DefaultThreadCurrentUICulture = ci;
Console.WriteLine(CultureInfo.CurrentCulture.DateTimeFormat.LongDatePattern);
Console.WriteLine(DateTime.Now.ToString("D"));
值得注意的是,我使用了DefaultThreadCurrentCulture。您可以在此处阅读有关此内容的更多信息:http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.defaultthreadcurrentculture.aspx