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

本文关键字:时间 日期 字符串 创建 | 更新日期: 2023-09-27 18:31:12

我正在从 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 链接。

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

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

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);

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

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

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