如何在 C# 中生成时间和日期并为 mysql 格式化?

Posted

技术标签:

【中文标题】如何在 C# 中生成时间和日期并为 mysql 格式化?【英文标题】:How to generate time and date in C# and format it for mysql? 【发布时间】:2012-12-14 13:54:06 【问题描述】:

我想知道如何在 C# 中生成时间和日期,然后将该值格式化为 mysql

Mysql 支持这种格式:0000-00-00 00:00:00.

更多信息 - 我正在从 mysql 导入日期时间,并将其作为文本保存在 sqlite 中我想在事件发生时更新 sqlite 中的日期时间,然后我将数据同步回 mysql。

在数据时间的 sqlite 中运行查询的最佳格式是什么?

我想保持相同的格式:0000-00-00 00:00:00

是否需要将其转换为 C# 或 Sqlite 数据库的其他本机数据,然后在同步时转换回 mysql 数据?

只是寻找最佳选择。

【问题讨论】:

不要将 C# 中的这些datetime vlaues 作为字符串处理,只需使用parametrized queries 即可,它会完成所有转换和格式化工作。 嗯,我不知道,我看了你发布的链接,有一些示例代码你可以链接到吗?谢谢 如果您想将日期存储在数据库中但直观地显示 DateTime AM/PM,请查看下面的另一个示例。我也会采纳 Mahmoud Gamal 的建议和用户参数化查询 @DavidEaton - 参数化查询通常是处理数据库时的好习惯。在您的情况下,在插入或更新时处理日期时间值时,您无需担心日期时间的格式和转换,它会完成所有工作。我之前评论中的链接,您将找到所有可用于此目的的方法。例如,您还可以看到this tutorial 【参考方案1】:

如果您想捕获 AM/PM,请尝试使用一行代码进行类似操作

string timString = DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss tt");

输出“2012-12-29 11:52:54 AM”

如果您想省略 AM/PM,请执行以下操作

string timString = DateTime.Now.ToString("dd.MM.yyyy hh:mm:ss");

输出“2012-12-29 11:52:54”

【讨论】:

【参考方案2】:

对于第一个问题,您可以使用

DateTime time = DateTime.Now;              
    string format = "yyyy-MM-dd HH:mm:ss";   
    var mytime = time.ToString(format);

【讨论】:

@DavidEaton 您的意思是从“DateTime 时间”或“var mytime”中删除 AM PM 吗? 是的.. 我删除了评论,因为我正在使用 time.toString() 做一个消息框,它绕过了格式,我抓住了它并改变了它,效果很好!

以上是关于如何在 C# 中生成时间和日期并为 mysql 格式化?的主要内容,如果未能解决你的问题,请参考以下文章

在按周分组的 2 个日期之间在 MYSQL 中生成报告

如何在 SQL Server 中生成日期范围

在熊猫中生成给定范围内的随机日期

在 C# 中生成正弦扫描

如何在 C# 中生成随机颜色名称

如何在 C# 中生成 ALPHANUMERIC 优惠券代码? [复制]