我想在一个地方设置格式以显示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)
没有成功。
答案 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