2010-08-30 38 views
2

我与格式MM/DD/YYYY查询字符串字符串转换为日期(DD/MM/YYYYY)格式在C#

我使用它在C#一样

DateTime d = Request.QueryString["dateTime"].toString(); 

它给我很多错误说日期时间格式无法识别。如果我手动将浏览器地址栏(查询字符串)中的日期时间更改为dd/mm/yyyy,那么该程序可以正常工作。

我不能改变查询字符串,有没有办法在C#中从浏览器中获取它,然后转换成日期,如dd/mm/yyyy好吗?

编辑: 查询字符串:

http://localhost:49543/HM/Admin/ViewDetails.aspx?OrderNo=10&DateCreated=08/30/2010 

,所以你可以看到dateCreated会部分是MM/DD/YYYY格式。 我不能从c#抓住它。如果我手动更改到30/08/2010,它的工作原理

+0

给你需要匹配一个例子查询字符串。 – 2010-08-30 13:04:09

+1

Request.QueryString [“dateTime”]已经是一个字符串。无需使用ToString()方法。 – Zafer 2010-08-30 13:05:22

+0

DateTime变量没有格式,只包含日期。只有当你将它转换为/从一个字符串,你需要一个格式。 – 2010-08-30 16:02:46

回答

5

如何把字符串从请求到DateTime

DateTime d = DateTime.ParseExact(Request.QueryString["dateTime"], "dd/MM/yyyy", null); 
+0

第一个,我试过了,它说iFormatProvider to String不能手动完成。它在这条线上抛出2个错误! (并且我想要第一种情况 - 对不起,如果我的问题很混乱!) – locusthorde 2010-08-30 13:18:54

+0

@locusthorde:好的,抱歉发布而不尝试它。我改变了一些对我有用的答案。 (如果在这个dd/MM/yyyy格式中输入字符串不是*精确*,它仍然会抛出异常。您可能想要捕获此异常并进行适当处理。) – Timwi 2010-08-30 13:39:04

7
DateTime d = DateTime.ParseExact(Request.QueryString["dateTime"], "dd/MM/yyyy", CultureInfo.InvariantCulture); 
+0

其仍然说串不被识别为有效格式! – locusthorde 2010-08-30 13:06:24

+0

我不认为他意味着这是如何格式化字符串,而是他想要创建的。他需要发布示例QS。 – 2010-08-30 13:07:31

+0

嗨,这是真正的QS:http:// localhost:49543/HM/Admin/ViewDetails.aspx?OrderNo = 10&DateCreated = 08/30/2010 – locusthorde 2010-08-30 13:11:20

2

DateTime.ParseExact是您寻求的解决方案。 不过我建议你用一个函数来验证查询字符串数据如下:

bool isValidDate(string dtStr) { 
    string pattern = @"^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[2][0]\d{2})$)"; 
    System.Text.RegularExpressions.Regex re = new System.Text.RegularExpressions.Regex(pattern); 
    return re.IsMatch(dtStr); 
} 

编辑1:除了ParseExact,您可以使用以下命令:

DateTime.Parse(dateString, new System.Globalization.CultureInfo("tr-TR")) 

土耳其的日期时间格式为DD/MM/YYYY。

0

您可以使用:DateTime.Now.ToString("dd/MM/yyyy");

0

试试这个它应该工作

DateTime d = 
      DateTime.ParseExact(Request.QueryString["dateTime"], 
      "dd'/'MM'/'yyyy",  
      CultureInfo.InvariantCulture); 

我面临着类似的东西:DateTime Format in C#

相关问题