字符串未被识别为有效的日期时间

本文关键字:日期 时间 有效 识别 字符串 | 更新日期: 2023-09-27 18:08:15

我的代码是:
 protected void Page_Load(object sender, EventArgs e)
    {
        string myDate = Request.QueryString["period"];
        if (!String.IsNullOrEmpty(myDate))
        {
            myDate = myDate.Replace("!", ":");
        }
        DateTime dt1 = Convert.ToDateTime(myDate);
        DateTime dt2 = DateTime.Now;
        TimeSpan variable = dt2 - dt1;
        if (variable.TotalMinutes > 5)
        {
            Response.Write("Download time is expired now");
        }
        else
        {
            Response.Redirect("Default.aspx", false);
        }

    }

,我得到错误如下:

字符串未被识别为有效的日期时间。

字符串未被识别为有效的日期时间

Try with DateTime.ParseExact() method;

将日期和时间的指定字符串表示形式转换为其使用指定的格式和特定于区域性的DateTime等效格式的信息。字符串表示的格式必须匹配

DateTime date = DateTime.ParseExact(myDate, "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);

这是一个DEMO

您可以从Custom Date and Time Format Strings

查看更多自定义日期格式

使用DateTime.ParseExact

因为你的日期格式是09/04/2013 10:41:45 AM

DateTime dt1 = DateTime.ParseExact(myDate, "MM/dd/yyyy hh:mm:ss tt", 
                                           CultureInfo.InvariantCulture)

如果09是day,将模式改为dd/MM/yyyy hh:mm:ss tt

关于日期和时间格式字符串的更多信息,

  • 自定义日期和时间格式字符串