C# : horodatage tronqué ?
P粉738821035
P粉738821035 2024-02-25 23:33:08
0
1
341

L'exécution du texte de commande dans MySQL Workbench renvoie 2023-04-09 11:37:05.508

Le code suivant, tronqué à : 2023-04-09 11:37:05. Je veux savoir pourquoi?

La colonne

est définie comme datetime(3).

Utilisez l'exemple de code ci-dessous pour reproduire :

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

répondre à tous(1)
P粉420958692

Par défaut, DateTime.ToString() n'extrait DateTime qu'en secondes. Cela signifie que la valeur sous-jacente dont vous disposez est plus précise, mais n’est pas imprimée. Vous pouvez le vérifier simplement en plaçant un point d'arrêt et en observant les valeurs des variables de l'application déboguée.

Pour obtenir un résultat plus détaillé, vous pouvez utiliser un formateur personnaliséPar exemple :

DateTime dt = (DateTime)reader["logged_at"];
Console.WriteLine(dt.ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture));
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal