【问题标题】:How to insert date in dd-MM-yyyy format? [duplicate]如何以 dd-MM-yyyy 格式插入日期? [复制]
【发布时间】:2015-07-27 07:24:36
【问题描述】:
cmd.Parameters.Add("@Date", dtp_Date.Value);

此代码以“M/dd/yyyy”格式插入日期,但我想在 ms access 数据库中插入 dd-MM-yyyy 格式的日期。

【问题讨论】:

  • 去哪里?你用的是什么数据库?
  • 在数据库中存储时,日期的格式无关紧要,您需要在使用时格式化它,例如在表示层(表单)中显示日期
  • 数据库是毫秒访问。我已经标记并提到了@Code
  • 您尝试插入的 that 列的类型是什么?
  • 类型是日期/时间@SonerGönül

标签: c# winforms ms-access


【解决方案1】:

您可以将 DateTime 以任何格式存储在数据库中。

当你想在屏幕上显示它时需要转换(例如视图)

对于这种情况,请使用 DateTime.TryParseExact:

 DateTime dtReturn;

DateTime.TryParseExact(dtp_Date.Value, 'dd-MM-yyyy', CultureInfo.InvarientCulture, DateTimeStyles.None, out dtReturn);

【讨论】:

  • 在@Neel 行中显示错误
  • 方法重载错误
【解决方案2】:

我假设您的数据库字段类型是“日期时间”并且 dtp_date 是“字符串”。如果是这样,请使用下面的代码行,

DateTime date = DateTime.ParseExact(dtp_Date, "dd-MM-yyyy", null);

【讨论】:

  • 这一行显示错误
  • 你能显示你的 dtp_Date 定义的代码行吗?
  • 将当前 System.DateTime 对象的值转换为其等效的字符串表示形式
  • 不,我问的是你的 c# 代码而不是错误信息。
  • DateTime date = DateTime.ParseExact(dtp_Date, "dd-MM-yyyy", null);代码下方显示一条红线错误
【解决方案3】:

假设您要插入 mysql 数据库,它仅支持 yyyy-mm-dd 日期格式。您可以在从数据库中检索日期时格式化日期。 Link 用于 mysql 日期函数

【讨论】:

  • 我的数据库在 ms 访问
【解决方案4】:

毫秒访问的日期时间不与其显示格式一起存储。 其实it's stored as a double:

Access 将日期/时间数据类型存储为最多 15 个小数位的双精度浮点数。双精度数的整数部分表示日期。小数部分代表时间。

从表格中选择时应该处理显示格式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-23
    • 2016-01-02
    • 1970-01-01
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 2012-05-05
    相关资源
    最近更新 更多