如何设置ToLocalTime日期格式

时间:2014-04-03 11:38:11

标签: c# date-format

我想在一个地方设置格式以显示datetime的tostring / 我希望每次编写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)

没有成功。

5 个答案:

答案 0 :(得分:2)

我建议您使用以下内容。

您可以添加如下扩展方法:

public static class LocalDateTime
{
    public static string ToLocalDateTime(this DateTime dt)
    {
       return dt.ToString("dd/MM/yyy HH:mm:ss");
    }
}

通过上述内容,您只需拨打datetimeObj.ToLocalDateTime();而不是ToString()方法。

答案 1 :(得分:1)

我认为这就是你要找的东西:

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);

答案 2 :(得分:0)

尝试像这样设置当前文化:

    Thread.CurrentThread.CurrentCulture = ci;
    Thread.CurrentThread.CurrentUICulture = ci;

答案 3 :(得分:0)

 string thetime = DateTime.UtcNow.TimeOfDay.ToString(//yourtimeformat);

这带来了世界时间

string thetime = DateTime.Now.TimeOfDay.ToString(//yourtimeformat);

您当前的系统时间

答案 4 :(得分:0)

试试这个:

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