Muszę usunąć część czasu z datą lub prawdopodobnie mam datę w następującym formacie w object
formie innej niż string
.
06/26/2009 00:00:00:000
Nie mogę korzystać z żadnych string
metod konwersji, ponieważ potrzebuję daty w object
formie.
Najpierw próbowałem przekonwertować na DateTime
a string
, usunąć z niej konkretną datę, ale dodaje się, 12:00:00 AM
jak tylko przekonwertuję ją z powrotem na DateTime
object
poprzednią.
var dateTime = DateTime.Now.Date;
Odpowiedzi:
Użyj właściwości Data :
date
Zmienna będzie zawierać datę, część czasu będzie00:00:00
.źródło
06/26/2009 00:00:00.000
, ale63381571200000000
jest to liczbaDateTime.MinValue
Tików (1/100000000 sekundy) od (01/01/0001). Jeśli zamierzasz wyświetlić datę, przekonwertuj ją na ciąg, w przeciwnym razie będzie ona składać się z północy. Sobie z tym poradzić.Możesz użyć ciągów formatu, aby nadać ciągowi wyjściowemu pożądany format.
Przeczytaj więcej o niestandardowych ciągach formatu daty i godziny .
źródło
CultureInfo.DateTimeFormat.ShortDatePattern
przyjazny dla użytkownikadd/MM/yyyy
do tego, co chcesz przed użyciem tego!.ToString()
dzięki pożądanemu formatowi jest dokładnie to, czego potrzebowałem, dzięki!Użyj metody ToShortDateString. Zobacz dokumentację http://msdn.microsoft.com/en-us/library/system.datetime.toshortdatestring.aspx
źródło
ToShortDateString
nie implementujeIFormatProvider
: /Spójrz na właściwość DateTime.Date .
źródło
var dateTime = DateTime.Now.Date;
Date
Własność zwróci datę o północy.Jedną z opcji może być oddzielne pobranie poszczególnych wartości (dzień / miesiąc / rok) i zapisanie ich w żądanym typie.
źródło
Żadna z powyższych odpowiedzi nie rozwiązała mojego problemu z winformami.
najłatwiejszym sposobem dotarcia TYLKO do daty jest prosta funkcja w Datetime:
Będziesz mieć tylko datę w ciągu urodzin.
źródło
(string)
obsada? Typ zwracany przezToShortDateString
jest rzeczywiście ciągiem.Spróbuj stworzyć własną strukturę do tego. Obiekt DateTime będzie miał datę i godzinę
źródło
Nie możesz DateTime w .NET zawsze ma czas, domyślnie 00: 00: 00: 000. Właściwość Date dla DateTime jest również DateTime (!), A zatem ma domyślny czas 00: 00: 00: 000.
Jest to niedobór w .NET Framework i można argumentować, że DateTime w .NET narusza zasadę pojedynczej odpowiedzialności .
źródło
DateTime.Date
źródło
Oto inna metoda użycia
String.Format
Wynik:
Działa to również, jeśli data i godzina są przechowywane w bazie danych.
Aby uzyskać więcej informacji o formatowaniu daty i godziny, sprawdź te linki:
Odniesienie 1
Odnośnik 2
Nadzieja pomaga.
źródło
Ten sposób na uzyskanie tylko daty bez czasu
Wyjście = 5/16/2015
źródło
Napisałem
DateOnly
strukturę. Używa DateTime pod skórą, ale żadne części czasu nie są publicznie dostępne:To jest konwertowane z VB.NET, więc przepraszamy, jeśli niektóre konwersje nie są w 100%
źródło
Użyj date.ToShortDateString (), aby uzyskać datę bez składnika czasu
użyj date.ToString (), aby dostosować format daty
źródło
Dziwi mnie, że nikt nie wspomniał o DateTime.Today
Zobacz MSDN
źródło
Możesz tego spróbować tylko dla daty od daty i godziny
Gdzie dt jest
DateTime
źródło
Znalazłem się w tym poście, próbując rozwiązać oryginalne pytanie Q.
Korzystam z Asp.Net i po kilku badaniach, które znalazłem, gdy wiążesz wartość daty w kodzie z tyłu, możesz upuścić czas, aby nie był wyświetlany na ekranie.
DO#:
aspx:
źródło
posługiwać się
źródło
Jeśli konwertujesz go na ciąg, możesz to łatwo zrobić w ten sposób.
Przyjmuję datę jako twój obiekt DateTime.
To da ci tylko datę.
źródło
Jeśli wybierzesz datę z kalendarza, dzięki temu otrzymamy również czas. Co nie jest wymagane przez cały czas. Za pomocą tego możemy usunąć czas z daty.
źródło
z mojego doświadczenia żadne z wymienionych rozwiązań nie działało, może dlatego, że chciałem usunąć czas z wyodrębnionej daty z bazy danych, ale poniższy kod działał dobrze:
źródło
Zadeklaruj zmienną jako ciąg.
przykład:
następnie przypisz wartość taką jak:
źródło
Wiem, że to stary post z wieloma odpowiedziami, ale nie widziałem tego sposobu na usunięcie części czasu. Załóżmy, że masz
DateTime
zmienną o nazwiemyDate
, z datą i częścią czasu. Możesz stworzyć z niego nowyDateTime
obiekt bez części czasu, używając tego konstruktora:Lubię to:
W ten sposób tworzysz nowy
DateTime
obiekt na podstawie starego, z 00:00:00 jako częścią czasu.źródło
Utwórz strukturę zawierającą tylko te właściwości, które chcesz. Następnie metoda rozszerzenia, aby łatwo uzyskać tę strukturę z instancji DateTime.
Stosowanie
źródło
Aby uzyskać tylko część daty, użyj metody ToString (),
przykład: DateTime.Now.Date.ToString („dd / MM / rrrr”)
Uwaga: mm w formacie dd / MM / rrrr musi być pisane wielkimi literami
źródło
Użycie .Date obiektu DateTime zignoruje część czasu.
Oto kod:
Wynik:
źródło
Użyj trochę RegEx:
Tworzy datę w formacie: dd / mm / rrrr
źródło
Do użytku przez datalist, repeater .. na stronie aspx: <% # Eval ("YourDateString"). ToString (). Usuń (10)%>
źródło
źródło
Można to po prostu zrobić w następujący sposób:
źródło
Ten kod daje wyraźny obraz pisania,
Date
a takżeTime
osobnoMam nadzieję że to pomoże.
źródło