Mam obiekt DateTime, który może ale nie musi już zawierać informacje o dacie/godzinie. Muszę zastąpić czas moim nowym czasem, niezależnie od daty i odwrotnie. Jak to osiągnąć? Nie widzę niczego oczywistego poza tworzeniem dwóch nowych obiektów DateTime, jednego ze starą/nową datą i ze starym/nowym czasem i łączeniem. Na pewno musi być lepsza droga niż to?Zastępowanie sekcji Data lub czas w obiekcie DateTime w języku C#
Odpowiedz
chciałbym napisać dwa lub trzy metody rozszerzenia:
public static DateTime WithTime(this DateTime date, TimeSpan time)
{
return date.Date + time;
}
public static DateTime WithDate(this DateTime original, DateTime newDate)
{
return newDate.WithTime(original);
}
public static DateTime WithTime(this DateTime original, DateTime newTime)
{
return original.Date + newTime.TimeOfDay;
}
(naprawdę nie potrzebne zarówno drugich metod, ale czasami może to być prostsze, jeśli Łączysz ze sobą wiele połączeń.)
Uwaga: nie tworzysz żadnych obiektów pod względem pozycji na stercie, ponieważ DateTime
jest strukturą.
DateTime jest strukturą niezmienną.
Jedyną opcją jest skonstruowanie nowej struktury DateTime na podstawie dwóch istniejących wartości. To najlepsze podejście. Na szczęście, jest to jedna wkładka:
DateTime CreateNewDateTime(DateTime date, DateTime time)
{
return new DateTime(date.Year, date.Month, date.Day, time.Hour, time.Minute, time.Second);
}
To może nie być dokładnie to, czego szukasz, ale klasa DateTime ma serię metod Add (AddMinutes(), AddDays() itp.). Mówię to nie może być to, czego szukasz, bo te zwracają DateTime, więc trzeba by zrobić coś takiego
myDate = myDate.AddMinutes(60);
Gazy czas od istniejącego datetime pisząc .Date
DateTime new = oldDate.Date;
Dodaj swój czas albo przez dodanie godziny, minuty & sekund indywidualnie
DateTime new = oldDate.Date.AddHours(14).AddMinutes(12).AddSeconds(33);
lub wszystkie na raz
DateTime new = oldDate.Date.AddSeconds(51153);
lub dodając przedział czasu()
DateTime new = oldDate.Date.Add(new TimeSpan(14,12,33));
- 1. DateTime W języku C#
- 2. Jak porównać DateTime w języku C#?
- 3. Datetime vs Data i czas Mysql
- 4. Czas letni w języku Python
- 5. Przechowywanie krótkiej daty w obiekcie DateTime
- 6. DateTime.ParseExact - data i czas
- 7. Wyodrębnij czas z datetime i sprawdź, czy czas (nie data) mieści się w zakresie?
- 8. Merge Data i czas
- 9. Konwertuj C# DateTime na JavaScript Data
- 10. C# czas w mikrosekundach
- 11. Tylko aktualizacja Czas w mysql Pole DateTime
- 12. Data paska TSQL z datetime
- 13. Jak odczytać typ danych wejściowych = "data" w obiekcie Javy Data?
- 14. Jak mogę uzyskać aktualny czas w C#?
- 15. Jak mogę uzyskać bieżący krótki format DateTime w języku C#?
- 16. Tworzenie obiektu DateTime w języku C#Tworzenie kodu DataTime w języku C#
- 17. Zastępowanie wywołania funkcji w C
- 18. Zastępowanie zmiennej składowej w C++
- 19. Minimalna data w języku Java
- 20. Get czas tylko DateTime
- 21. Pobierz tylko data część DateTime w mssql
- 22. Porównaj data i datetime w Django
- 23. Get Aktualna data i czas z [NSDate date] data czas
- 24. PHP zła data/czas
- 25. Serwis WWW Java, data xsd zamiast dateTime
- 26. Jak przekonwertować czas i czas unixu na czas letni w C#?
- 27. Jak mierzyć czas wykonywania kodu w języku VBScript lub JavaScript?
- 28. Uzyskaj czas od zmiennej DateTime w Ruby
- 29. Czas zamiast datetime w usługach Reporting Services
- 30. Demontaż sekcji w programie c