无法从字符串创建具有当前时间的日期

Unable to create date with current time from string

我正在从 telerik 日期选择器中获取所选日期,并希望以 24 小时格式获取所选日期和当前系统时间,并希望这样的日期:

例如:Current Date = dd/mm/yy HH:Minutes:Seconds

21/1/2016 14:48:21

这是我的代码:

DateTime dt = DateTime.ParseExact(Datepicker1.SelectedDate.Value.ToShortDateString(), "dd/MM/yyyy", CultureInfo.InvariantCulture);//Error:String was not recognized as a valid DateTime.

Datepicker1.SelectedDate.Value= {1/21/2016 12:00:00 AM} 
Datepicker1.SelectedDate.Value.ToShortDateString()=1/21/2016 

错误字符串在 Datetime.ParseExact.

上未被识别为有效的日期时间

更改 ParseExact 中的格式
"dd/MM/yyyy"

"M/d/yyyy" or "M/d/yyyy h:m:s tt" //the first one use .ToShortDateString(), the second one for 1/21/2016 12:00:00 AM

第一个只处理 21/12/1997

这样的情况

第二个负责12/21/19972/21/199712/2/19972/1/1997以及时间信息

此外,请注意,您可以考虑使用多种格式(以防万一):"d/M/yyyy H:m:s""d/M/yyyy h:m:s tt" 以处理日期和月份互换的情况以及您有 AM/PM.

MSDN link.

@yourDateTime.FormattedReviewDate.ToString("MMM dd,yyyy")

您甚至可以为格式化显示添加一个简单的 属性 到日期时间:

public string FormattedReviewDate
{
    get { return ReviewDate.ToString("MMM dd,yyyy"); } 
}

注意:提供您需要的格式

您不需要解析任何东西

您的 Datepicker1.SelectedDate.Value 已经 DateTime,只需将此值分配给您的 dt 变量即可。

DateTime dt = Datepicker1.SelectedDate.Value;

如果您想根据您的格式获取它的字符串表示形式,只需使用具有正确格式的 ToString 方法。

string formattedDate = dt.ToString("dd/M/yyyy HH:mm:ss", CultureInfo.InvariantCulture);

其中 returns 21/1/2016 14:48:21 作为 string

此外,如果您希望 1/21/2016 作为字符串,只需将您的格式更改为 M/dd/yyyy like;

string formattedDate = dt.ToString("M/dd/yyyy", CultureInfo.InvariantCulture);