Matt June 8th, 2021 I’m excited to share with you some of the improvements that have been made to .NET that are coming in .NET 6 in the area of dates, times, and time zones. You can try out all of the following, starting with .NET 6 Preview 4. In this blog post, I’m going to cover the following topics:The new DateOnly and TimeOnly typesTime Zone Conversion APIsTime Zone Display Names on Linux and macOSTimeZoneInfo.AdjustmentRule Improvements For even more details, you can also refer to dotnet/runtime...
Opublikowane w przez Łukasz Kot Zwykle w bazie danych przechowujemy czas w strefie czasowej UTC bez względu na to w jakim regionie znajduje się nasza aplikacja. Jednak chcielibyśmy wyświetlić datę w strefie czasowej, takiej jaka jest używana w regionie. Są na to 2 rozwiązania.
Pierwszy raz próbując napisać test jednostkowy dla metody wykorzystującej strukturę DateTime napotykamy na problem z odczytem aktualnego czasu z statycznych właściwości (UtcNow, Now, Today) struktury DateTime. Artykuł prezentuje możliwe rozwiązania powyższego problemu.
Sztuka programowania 2496 dni, 23 minuty temu 192 źrodło rozwiń
W poprzednim wpisie Czas UTC a DateTime.Kind byłem zbyt mało stanowczy lub nie wyczerpałem tematu Maciek w komentarzu podzielił się linkiem i skomentował krótko – DateTime.Now praktycznie nigdy nie ma sensu Autor podlikowanego posta (The case against DateTime.Now) proponuje aby DateTime.Now i DateTimeKind.Local zostały w następnej wersji .NET oznaczone jako [Obsolete]. Postaram się streścić ten ar...
Ostatnio pierwszy raz w życiu miałem okazję ustawiać nagłówki HTTP odnośnie cachowania. Pogłębiłem trochę temat i okazało się, że trzeba myśleć nie w kategoriach czasu lokalnego, tylko czasu uniwersalnego. Na nasze: zamiast DateTime.Now trzeba używać DateTime.UtcNow. Wstęp: Przechowujesz datę i czas? Może warto w UTC? DateTime ma właściwość Kind typu DateTimeKind: public enum D...
Testy jednostkowe “czasu” nie są tematem łatwym. Rozsiane po całej aplikacji wywołania DateTime.Now (które i tak powinny być odwołaniami do DateTime.UtcNow) nie upraszczają tej kwestii. Problem ten można rozwiązać na kilka sposobów...
Zadanie jest następujące. Mamy w pliku tekstowym dane zawierające m.in datę z góry w zdefiniowanym formacie a mianowicie 2012/10/05 (piąty październik 2012). Dla uproszczenia, ograniczymy się tylko do dnia, miesiąca i roku, bez czasu. Pierwsze podejście, najgorsze mogłoby wyglądać następująco:string timestamp =""; DateTime dateTime = DateTime.Parse(timestamp); Console.WriteLine(dateTime); Dlaczego jest to niepoprawne? W niektórych ustawieniach regionalnych (np. USA) format jest następujący “yyyy/dd/M...
Sztuka programowania 4331 dni, 4 godziny, 29 minut temu 196 źrodło rozwiń
Na wss.pl pojawił się wątek dotyczący działań na typach datetime. Jeden z uczestników dyskusji stwierdził, że operacja odejmowania dwóch wartości datetime daje w wyniku czas. Jak pokazałem, zapytanie SELECT GETDATE() - GETDATE() daje w wyniku 1900-01-01 00:00:00.000 czyli nadal typ datetime (należało się tego spodziewać) a dopiero po jawnym zrzutowaniu na float widzimy numeryczną reprezentację z różnicy dat (dlaczego nie na time, o tym mała uwaga na końcu notki). Ale pomyślałem sobie, że w pewnych ...
Bazy danych i XML 5497 dni, 9 godzin, 39 minut temu 99 źrodło rozwiń
Nie wiem jak Wy, ale ja zawsze miałem dylemat, gdy musiałem porównywać datę zapisaną w bazie z tą wysyłaną z procedury C#. Oczywiście mam na myśli porównywanie datetime z MSSQL z DateTime z C#. Objawiało się to nader często, gdy np. chciałem wyciągnąć z bazy – dajmy na to – zgłoszenia serwisowe z zakresu dat.