将日期时间格式更改为" yyyy-mm-dd"

时间:2014-05-12 12:06:32

标签: c# string datetime

此功能正常但我返回dd-MM-yyyy格式但我想要yyyy-MM-dd格式

我的输入值为'13 / 5/2014 12:00:00 AM'我需要将此格式更改为'2014-5-13 00:00:00',但所有datetime变量都以dd-mm-返回yyyy格式我不想将日期转换为字符串我想在datetime属性中使用'yyyy-MM-dd'格式存储日期值:

public DateTime DateConvertion(string Input)
{
    DateTime DateValue = DateTime.ParseExact(Input, "dd-MM-yyyy", CultureInfo.InvariantCulture);            
    return DateValue;            
}

2 个答案:

答案 0 :(得分:5)

来自DateTime.ParseExact

  

将指定的日期和时间字符串表示形式转换为它   DateTime等效使用指定的格式和特定​​于文化   格式信息。 字符串表示的格式必须匹配   完全符合指定的格式。

在你的情况下,他们不是。

您可以改用dd/M/yyyy hh:mm:ss tt格式。这是一个例子;

string s = "13/5/2014 12:00:00 AM";
var date = DateTime.ParseExact(s, "dd/M/yyyy hh:mm:ss tt",
                                   CultureInfo.InvariantCulture);
Console.WriteLine(date);

DateTime没有隐式格式,只是DateTime值。您可以使用string方法将其格式化为DateTime.ToString();

date.ToString("yyyy-M-dd hh:mm:ss");

看看;

答案 1 :(得分:0)

public string DateConvertion(string Input)
{
    var date = DateTime.ParseExact(Input, "dd/M/yyyy hh:mm:ss tt", 
                                    CultureInfo.InvariantCulture);

    return date.ToString("yyyy-MM-dd");            
}