Chcę przekonwertować C # DateTime na format „RRRRMMDDGGMMSS”. Ale nie znajduję wbudowanej metody uzyskania tego formatu? Jakieś komentarze?
621
DateTime.Now.ToString("yyyyMMddHHmmss"); // case sensitive
DateTime.Parse()
?format
rozróżniana jest również wielkość liter, tj.DateTime.ParseExact(stringValue, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
Ta strona ma świetne przykłady, sprawdź to
Standardowe formatowanie daty i godziny
Zaktualizuj za pomocą formatu interpolacji ciągów c # 6
źródło
yyyyMMddHHmm[+-]ZZzz
gdzie część [+ -] ZZzz to strefa czasowa (liczba godzin, które należy dodać lub odjąć od daty GMT)zzz
jest -06: 00 , chciałbym-0600
.Replace(":", "")
$"{dt:yyyyMMddHHmmzzz}".Replace(":", "")
obejśćdt.ToString("...");
zastąpienie"..."
powyższym formatem, np."yyyy-MM-dd"
.Praktycznie sam napisałeś ten format.
yourdate.ToString("yyyyMMddHHmmss")
Wszystko inne powinno być zrozumiałe.
źródło
Musisz tylko zachować ostrożność między miesiącami (MM) a minutami (mm):
(Należy również pamiętać, że HH to zegar 24-godzinny, podczas gdy hh to zegar 12-godzinny, zwykle w połączeniu z t lub tt dla oznaczenia rano / godziny.)
Jeśli chcesz to zrobić jako część ciągu formatu złożonego, użyj:
Aby uzyskać więcej informacji, zobacz stronę MSDN na temat niestandardowych formatów daty i godziny .
źródło
now.ToString("yyyyMMdd_HHmmss")
? Mam na myśli, czy można łączyć się z innymi postaciami, prawda?Możesz użyć łańcucha formatu niestandardowego:
Zamień „hh” na „HH”, jeśli nie chcesz mieć 24-godzinnego zegara.
źródło
Jeśli używasz ReSharper, uzyskaj pomoc dotyczącą „:” (patrz zdjęcie)
źródło
jeśli chcesz, aby był wyświetlany jako ciąg
źródło
W
.Net Standard 2
możesz sformatowaćDateTime
jak poniżej:źródło
źródło
Dziwi mnie, że nikt nie ma linku do tego. dowolny format można utworzyć, korzystając z poniższych wskazówek:
Niestandardowe ciągi formatujące datę i godzinę
W swoim konkretnym przykładzie (jak wskazali inni) użyj czegoś takiego
Gdzie mój_format może być dowolną kombinacją ciągów y, M, H, m, s, f, F i więcej! Sprawdź link.
źródło
Uzyskaj datę jako
DateTime
obiekt zamiast ciągu. Następnie możesz sformatować go, jak chcesz.Kliknij tutaj, aby uzyskać więcej wzorów
źródło
przy użyciu C # 6.0
źródło
Prosta metoda, pełna kontrola nad „z typu” i „do typu”, a tylko trzeba pamiętać ten kod do przyszłych rzutów
źródło
To nic wielkiego. możesz po prostu tak ułożyć
Przepraszam, bo użyłem $, który jest dla interpolacji ciągów.
źródło
Istnieje niewielkie prawdopodobieństwo, że żadna z powyższych odpowiedzi nie rozwiązałaby problemu. Niemniej jednak udostępniam moją metodę, która zawsze działa dla mnie dla różnych formatów danych.
źródło
Po spędzeniu wielu godzin na wyszukiwaniu w Google znalazłem poniższe rozwiązanie, ponieważ kiedy lokalnie podaję datę, bez wyjątku, gdy z innego serwera wystąpił błąd ......... Data nie jest w odpowiednim formacie. Przed zapisaniem / przeszukaniem daty w polu tekstowym w C #, po prostu sprawdź, czy zewnętrzna kultura Serer jest taka sama jak kultura serwera bazy danych. Np. Oba powinny być „en-US” lub muszą być oba „en-GB” asp poniżej migawki.
Nawet przy innym formacie daty, jak (dd / mm / rrrr) lub (rrrr / mm / dd), zapisuje lub wyszukuje dokładnie.
źródło