У меня возникли проблемы с пониманием того, почему значение восстановленной строки даты и времени отличается от ее оригинала.Я записываю строку в универсальную дату-время (формат «u», поэтому в конце она имеет «z»), но при восстановлении она отличается на один час.Я использую «и», чтобы предотвратить подобные вещи.Кто-нибудь может сказать мне, почему он отличается?
Мне нужно хорошее строковое представление, потому что я буду использовать код в 5 разных часовых поясах.
Программа:
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.GetCultureInfoByIetfLanguageTag("es-CR");
DateTime min = DateTime.MinValue;
Console.Write("Min value date: ");
Console.WriteLine(min);
Console.Write("String: ");
string str = min.ToString("u");
Console.WriteLine(str);
DateTime dt = DateTime.Parse(str);
Console.Write("Restored Date: ");
Console.WriteLine(dt);
Console.ReadLine();
}
}
}
Выходные данные:
Дата минимального значения: 01/01/0001 12:00:00
Строка: 0001-01-01 00: 00: 00Z
Дата восстановления: 01/01/0001 01:00:00 утра
Изменить: возможность попробовать культуру Коста-Рики.