日期未采用预期格式(dd / MM / yyyy)

时间:2017-01-24 09:49:46

标签: c# asp.net date datetime

我想以dd/MM/yyyy格式将日期插入数据库。为此我写了如下:

drExpInfo[0]["CHEQUE_DT"] = string.IsNullOrWhiteSpace(e.Record["CHEQUE_DT"].ToString())
    ? DBNull.Value : (object)Convert.ToDateTime(e.Record["CHEQUE_DT"]);

它在我的本地计算机上工作得非常好,但在我的服务器上,格式为dd/MM/yyyy hh:mm:ss。那么如何设置相同的格式呢。请建议。

4 个答案:

答案 0 :(得分:1)

使用DateTime.ToShortDateString

drExpInfo[0]["CHEQUE_DT"] = string.IsNullOrWhiteSpace(e.Record["CHEQUE_DT"].ToString())
    ? DBNull.Value : (object)Convert.ToDateTime(e.Record["CHEQUE_DT"]).ToShortDateString();

但是,我建议您在插入并获取所需格式时(不使用ToShortDateString,因为它将插入时间设置为午夜,参见下面的Oracle文档中突出显示的文本) )当你使用日期时。

来自Oracle documentation

  

Oracle数据库会自动将默认日期格式的字符值转换为日期表达式中使用的日期值。

     

如果您指定的日期值没有时间组件,则默认时间为午夜。如果您指定的日期值没有日期,则默认日期是当月的第一天

     

Oracle Database DATE列始终包含日期和时间的字段。如果查询使用的日期格式没有时间部分,则必须确保DATE列中的时间字段设置为午夜。您可以使用TRUNC(日期)SQL函数来确保时间字段设置为午夜,或者您可以使查询的测试大于或小于(<,< =,> =或>而不是平等或不平等(=或!=)。否则,Oracle数据库可能不会返回您期望的查询结果。

因此,您可以在c#中以任何格式转换您的日期,删除时间部分,Oracle会自动将您日期的时间部分设置为午夜(00:00:00)。

答案 1 :(得分:0)

尝试:

HttpUtility.UrlEncode(username.text)

答案 2 :(得分:0)

您可以设置CultureInfo;

var cultureInfo = new CultureInfo("en-GB", false).DateTimeFormat;
string result = Convert.ToDateTime(e.Record["CHEQUE_DT"], cultureInfo).ToString();

答案 3 :(得分:0)

Check this Discussion 在这里,您可以找到两种或多种设置日期格式的方法,同时将记录插入数据库。

insert into sampleDate(Start_Date) values (to_date('25-Jun-2017','YYYYMMDD'))