Pertanyaan Ada perbedaan antara DateTime.Parse dan Convert.ToDateTime?


Apakah ada perbedaan antara

Convert.ToDateTime

dan

DateTime.Parse

Mana yang lebih cepat atau yang lebih aman digunakan?


32
2017-11-19 07:09


asal


Jawaban:


Per an menjawab di forum lain dari Jon Skeet...

Convert.ToDateTime menggunakan DateTime.Parse secara internal, dengan arus   budaya - kecuali Anda melewatkannya nol, dalam hal ini ia kembali   DateTime.MinValue.

Jika Anda tidak yakin string adalah DateTime yang valid, gunakan keduanya dan sebagai gantinya, gunakan DateTime.TryParse ()

Jika Anda yakin string adalah DateTime yang valid, dan Anda tahu formatnya, Anda juga bisa mempertimbangkan metode DateTime.ParseExact () atau DateTime.TryParseExact ().


26
2017-11-19 07:16



DateTime.Parse memiliki kelebihan yang hanya membutuhkan satu String dan tidak ada yang lain dan menggunakan arus Locale info tanpa Anda harus melewatkannya.


2
2018-04-10 11:29



Overloads dari Convert.ToDateTime yang mengambil string sebagai parameter input, secara internal dipanggil DateTime.Parse. Berikut ini adalah implementasi dari Convert.ToDateTime.

public static DateTime ToDateTime(string value)
{
    if (value == null)
    {
        return new DateTime(0L);
    }
    return DateTime.Parse(value, CultureInfo.CurrentCulture);
}

Dalam hal kelebihan beban lainnya, parameter dicor ke antarmuka IConvertible dan kemudian metode ToDateTime yang sesuai dipanggil.

public static DateTime ToDateTime(ushort value)
{
    return ((IConvertible) value).ToDateTime(null);
}

1
2017-11-19 07:25