无法使用字符串创建当前时间的日期

时间:2016-01-21 05:25:51

标签: c# date datetime telerik telerik-datepicker

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

对于Ex: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上的有效日期时间。

3 个答案:

答案 0 :(得分:1)

更改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"来处理交换日期和月份以及{{1}时的情况}}

MSDN link

答案 1 :(得分:1)

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

您甚至可以为dateTime为格式化显示添加一个简单属性:

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

注意:提供您所需的格式

答案 2 :(得分:1)

您不需要解析任何

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

DateTime dt = Datepicker1.SelectedDate.Value;

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

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

21/1/2016 14:48:21作为string返回。

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

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