如何设置到本地时间日期格式

本文关键字:时间 日期 格式 何设置 设置 | 更新日期: 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