DateTime Test;
if (DateTime.TryParseExact(txtDOB.Text, "MM/dd/yyyy", null, DateTimeStyles.None, out Test) == true)
我有这个,所以我可以得到日期而不是DateTime,但我需要英国(DD / MM / YYYY)格式,当我尝试它时,我得到一个错误,说转换失败
答案 0 :(得分:2)
我有这个,所以我可以得到日期而不是DateTime,但我 需要英国(DD / MM / YYYY)格式
嗯,如果我理解,您只需要使用dd/MM/yyyy
(自定义日期和时间格式中没有DD
和YYYY
格式)格式而不是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);