dataRow["BookDate"] = DateTime.ParseExact(date.ToString(), @"d/M/yyyy",
CultureInfo.InvariantCulture).ToString();
我的代码在本地运行但不在iis在线运行 代码也可以使用在线服务。 也添加在我的web.config
中答案 0 :(得分:1)
您不需要对此格式化字符串使用DateTime.ParseExact
方法。您的字符串可以表示为标准日期和时间格式。您只能使用DateTime.Parse
方法。
这是LINQPad;
的示例var date = DateTime.Parse("05/04/2014 0:38",
CultureInfo.InvariantCulture);
date.Dump();
如果您的date
已经DateTime
,则您不需要做任何事情。如果您想对其进行字符串表示,只需使用string
格式和IFormatProvider
的{{3}}方法。
date.ToString("d/M/yyyy", CultureInfo.InvariantCulture);
答案 1 :(得分:1)
假设date
是一个DateTime变量,您只需要一个带格式说明符的简单ToString
dataRow["BookDate"] = date.ToString("d/M/yyyy");
但这提出了另一个问题,你是dataRow["BookDate"]
一个字符串字段吗?如果是,那么你真的不应该以字符串格式存储日期。您可以直接使用与可视格式无关的DateTime字段,并且可以在需要在数据库查询中应用WHERE条件时正确使用。
相反,如果dataRow["BookDate"]
正确是DateTime字段,那么您不需要任何格式,您可以直接为此字段分配DateTime值。代码的工作就是根据您的偏好显示该值以对其进行格式化。
答案 2 :(得分:0)
如果您的日期格式为05/04/2014 0:38
1 您需要使用dd
代替d
代表两位数日期。
2 您需要使用MM
代替M
代表两位数月份。
3 您需要使用H
来表示小时格式
4 您需要使用mm
来表示分钟格式。
试试这个:
dataRow["BookDate"] = DateTime.ParseExact(date.ToString(), @"dd/MM/yyyy H:mm",
CultureInfo.InvariantCulture).ToString();
如果您只想存储日期。
试试这个:
dataRow["BookDate"] = DateTime.ParseExact(date.ToString(), @"dd/MM/yyyy H:mm",
CultureInfo.InvariantCulture).ToString("dd/MM/yyyy");