bal*_*le3 3 c# string format datetime
我正在尝试在C#函数中格式化DateTime,但我无法使其工作.
我想要的格式是这样的:
"28/02/2012"
Run Code Online (Sandbox Code Playgroud)
我尝试过不同的格式化DateTime的方法,例如:
string formattedDate = DateTime.Today.ToString("dd/MM/yyyy");
string formattedDate = String.Format("{0:dd/MM/yyyy}", DateTime.Today);
Run Code Online (Sandbox Code Playgroud)
这两个例子都给了我这个结果:
"28.02.2012"
Run Code Online (Sandbox Code Playgroud)
在使用上面显示的两种方式之前,我已经多次格式化DateTimes,但我真的不明白为什么我会"." 代替 "/".
是否有一些必须设置的配置?
Jon*_*eet 11
phoog给出了正确的理由,但我建议错误的解决方法.如果您总是希望将日期/时间格式化为您在特定文化中的格式(可能是不变文化),那么您可以这样做:
string formattedDate = DateTime.Today.ToString("dd/MM/yyyy",
CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
我觉得这比将格式的某些部分强制成不变形式更清晰,同时将其他部分(数字)留给文化.例如,考虑一下:
using System;
using System.Globalization;
using System.Threading;
class Test
{
static void Main()
{
CultureInfo ci = new CultureInfo("ar-SA");
Thread.CurrentThread.CurrentCulture = ci;
string formattedDate = DateTime.Today.ToString("dd/MM/yyyy");
Console.WriteLine(formattedDate);
}
}
Run Code Online (Sandbox Code Playgroud)
今天,打印"06/04/1433" - 适合伊斯兰历法,但可能不是你所期望的.
将/
在日期时间格式字符串的字符是为特定的文化日期分隔符的占位符. 要明确指定/
字符,您需要转义它:"dd\\/MM\\/yyyy"
或@"dd\/MM\/yyyy"
有关详细信息,请参阅MSDN页面"自定义日期和时间格式字符串"
归档时间: |
|
查看次数: |
3415 次 |
最近记录: |