recherche

Maison  >  Questions et réponses  >  le corps du texte

C# : horodatage tronqué ?

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粉738821035P粉738821035395 Il y a quelques jours408

répondre à tous(1)je répondrai

  • P粉420958692

    P粉4209586922024-02-26 19:43:16

    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));

    répondre
    0
  • Annulerrépondre