将代码格式化为英国格式

时间:2016-01-25 11:24:15

标签: c# date format

早上好,请看下面的代码,有没有办法让c#接受英国日期格式的日期?

{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime myValue = DateTime.Now;
            DateTime myBirthday = DateTime.Parse("1977, 3, 30");
            TimeSpan myAge = DateTime.Now.Subtract(myBirthday);
            Console.WriteLine (myAge.TotalDays);
            Console.ReadLine();
        }
    }
}

2 个答案:

答案 0 :(得分:1)

使用 CultureInfo

尝试此代码
var str = "01/01/2016 00:00:00";
var date = DateTime.ParseExact(str, "MM/dd/yyyy HH:mm:ss", new CultureInfo("en-GB"));
var res = date.ToString("dd/MM/yyyy HH:mm:ss", new CultureInfo("en-GB"));

你的日期是英国格式。

答案 1 :(得分:0)

您可以通过文化解析:

var culture = "en-GB";
var date = DateTime.Parse(dateString, new CultureInfo(culture , false));

但这可以归结为.NET对英国日期格式的解释,但你可能不匹配,所以最好根据你的数据来做,例如:

var date = DateTime.ParseExact(dateString, "dd/MM/yyyy", CultureInfo.InvariantCulture);