如何使用C#将MM / DD / YYYY HH:MI:SS AM / PM转换为DD / MM / YYYY?我正在使用C#2008。
由于
答案 0 :(得分:15)
使用TryParseExact
解析为DateTime
,然后使用格式字符串ToString
转换回来...
DateTime dt;
if (DateTime.TryParseExact(value, "MM/dd/yyyy hh:mm:ss tt",
CultureInfo.InvariantCulture, DateTimeStyles.None,
out dt))
{
string text = dt.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
// Use text
}
else
{
// Handle failure
}
答案 1 :(得分:1)
由于时间部分无关紧要,您可以在解析和重新格式化之前截断它:
date = DateTime.ParseExact(date.Substring(0, 10), "MM'/'dd'/'yyyy", CultureInfo.InvariantCulture).ToString("dd'/'MM'/'yyyy");
由于您的评论显示您不希望将字符串作为结果,因此您不应将日期格式化为字符串,只需将日期作为DateTime
值:
Datetime dbDate = DateTime.ParseExact(date.Substring(0, 10), "MM'/'dd'/'yyyy", CultureInfo.InvariantCulture);
现在,您可以在代码中使用DateTime
值,并在需要时将其包装在数据库驱动程序类型中。
答案 2 :(得分:0)
如果这是一个DateTime对象,您应该只能选择不同的格式。
如果是字符串,请使用以下命令:
public string convert(string date){
string[] pieces = date.Split("/");
string day = pieces[1];
string month = pieces[0];
string year = pieces[2].split(" ")[0];
return day + "/" + month + "/" + year;
}