C#:時間戳被截斷?
P粉738821035
P粉738821035 2024-02-25 23:33:08
0
1
345

在 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));
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板