【问题标题】:C# DateTime changing to another formatC# DateTime 更改为另一种格式
【发布时间】:2013-03-14 11:15:25
【问题描述】:

先生/女士,

我将执行 Oracle 批量插入,但绑定参数 Papameters 无效:System.dateTime 在此处发出警告。

创建日期字段是时间戳(0),22-MAR-13 08.13.27.000000000 PM 是唯一可接受的格式。

但是当我尝试按如下方式从字符串转换为 DateTime 时:

2013 年 3 月 22 日晚上 8:00:00

使用以下方法:

 item.CreatedDate = Convert.ToDateTime("19-MAR-13 08.13.27 PM");

// 下面是 ORACLE 大容量插入

        using (OracleConnection myConnection = new OracleConnection(myConnectionString))
        {
            myConnection.Open();
            using (var copy = new OracleBulkCopy(myConnection))
            {
                copy.DestinationTableName = "T_BQ";
                copy.BulkCopyTimeout = 10;
                copy.BatchSize = 1000;
                var query = from item in list select item;
                var dt = new System.Data.DataTable();
                dt = ConvertToDataTable(query);
                copy.WriteToServer(dt);
                copy.Dispose();
                copy.Close();
            }
            myConnection.Dispose();
            myConnection.Close();
        }

【问题讨论】:

  • 你检查我的答案了吗?

标签: c# .net oracle datetime timestamp


【解决方案1】:

您应该使用: 来代替.

试试这个:

item.CreatedDate = Convert.ToDateTime("19-MAR-13 08:13:27 PM");

【讨论】:

  • 无效的参数绑定参数名称:System.DateTime发生
  • @RajuGujarati:在您的问题中发布更多代码,尤其是导致错误的代码。
【解决方案2】:

试试这个,

dateVariable.ToString("MM/dd/yyyy hh:mm:sstt");

【讨论】:

    【解决方案3】:

    您可以使用DateTime.TryParseExact 自定义datetime 格式为:

     string strDateStarted = "19-MAR-13 08.13.27 AM";
     DateTime datDateStarted;
     DateTime.TryParseExact(strDateStarted, new string[] { "dd-MMM-yy hh.mm.ss tt" }, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out datDateStarted);
     Console.WriteLine(datDateStarted);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-27
      • 2013-10-22
      • 1970-01-01
      • 1970-01-01
      • 2022-01-16
      相关资源
      最近更新 更多