英国日期格式化c#

时间:2014-08-06 10:24:09

标签: c# datetime visual-studio-2012

DateTime Test;
if (DateTime.TryParseExact(txtDOB.Text, "MM/dd/yyyy", null, DateTimeStyles.None, out Test) == true)

我有这个,所以我可以得到日期而不是DateTime,但我需要英国(DD / MM / YYYY)格式,当我尝试它时,我得到一个错误,说转换失败

3 个答案:

答案 0 :(得分:2)

  

我有这个,所以我可以得到日期而不是DateTime,但我   需要英国(DD / MM / YYYY)格式

,如果我理解,您只需要使用dd/MM/yyyy(自定义日期和时间格式中没有DDYYYY格式)格式而不是MM/dd/yyyy格式。

DateTime dt;
if(DateTime.TryParseExact(txtDOB.Text, "dd/MM/yyyy", null,
                          DateTimeStyles.None, out dt))
{
    // Successfull
}

但请记住,"/" format specifier在自定义日期和时间格式字符串中具有特殊含义。它意味着; 将我替换为当前文化或指定的文化日期分隔符。这意味着如果您当前的文化没有/作为DateSeparator,那么您的解析将失败,因为您使用null作为IFormatProvider,这相当于使用CurrentCulture }}

此外,由于DateTime.TryParseExact返回boolean,因此与另一个boolean进行比较没有任何意义。

我想说的是什么;只需使用

if(true)
{

}

而不是

if(true == true)
{

}

答案 1 :(得分:0)

尝试:

Test.Date

按你所说的那样给你日期,然后使用.ToString(“dd / MM / yyyy”)来获取UK DateTime

Test.Date.ToString("dd/MM/yyyy")

答案 2 :(得分:0)

使用此:

DateTime Test;
var date = "06/08/2014".Replace('/', '.');
DateTime.TryParseExact(date, "dd/MM/yyyy", null, DateTimeStyles.None, out Test);