C#:时间戳被截断?
P粉738821035
P粉738821035 2024-02-25 23:33:08
0
1
313

在 MySQL 工作台中运行命令文本会返回 2023-04-09 11:37:05.508

以下代码,将其截断为:2023-04-09 11:37:05。我想知道为什么?

列定义为datetime(3)

使用下面的示例代码重现:

var connection = new MySqlConnection(connectionString.ToString());

connection.Open();

const string commandText = @"SELECT logged_at FROM logs WHERE application_id = @id ORDER BY id DESC LIMIT 1";

var cmd = new MySqlCommand(commandText, connection);
cmd.Parameters.Add("@id", MySqlDbType.Int32).Value = 3;

var reader = cmd.ExecuteReader();

if (reader.Read())
{
    Console.WriteLine(reader["logged_at"].ToString());
}

connection.Close();

P粉738821035
P粉738821035

全部回复(1)
P粉420958692

默认情况下,DateTime.ToString() 确实仅将 DateTime 提取到秒。这意味着您拥有的基础值更准确,但未打印。您可以简单地通过放置断点并观察调试应用程序的变量值来检查这一点。

要获得更详细的输出,您可以使用 自定义格式化程序例如:

DateTime dt = (DateTime)reader["logged_at"];
Console.WriteLine(dt.ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture));
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!