DateTimePicker: wybierz datę i czas

Czy można użyć DateTimePicker (Winforms), aby wybrać datę i czas (z listy rozwijanej)? Jak zmienić niestandardowe wyświetlanie wybranej wartości? Czy możliwe jest również włączenie użytkownika do ręcznego wpisywania daty/czasu?

Author: Grzenio, 2008-09-18

7 answers

Ustaw format Na Niestandardowy, a następnie określ format:

dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "MM/dd/yyyy hh:mm:ss";  

Lub jak chcesz to rozłożyć. Następnie możesz wpisać bezpośrednio datę/czas. Jeśli używasz MMM, musisz użyć wartości numerycznej dla miesiąca do wpisania, chyba że sam napiszesz do tego Kod (np. 5 wyników w maju)

Nie wiem jak wybrać datę i czas razem. Brzmi jak niestandardowa Kontrola.

 172
Author: itsmatt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-16 09:51:19

Najlepiej jest użyć dwóch DateTimePickers do pracy Jedna z nich będzie domyślną sekcją date, a druga DateTimePicker jest częścią czasu. Sformatuj drugą DateTimePicker w następujący sposób.

      timePortionDateTimePicker.Format = DateTimePickerFormat.Time;
      timePortionDateTimePicker.ShowUpDown = true;

Te dwa powinny wyglądać tak po ich schwytaniu

Dwa Podajniki Daty

Aby uzyskać DateTime z obu tych kontrolek użyj następującego kodu

DateTime myDate = datePortionDateTimePicker.Value.Date + 
                    timePortionDateTimePicker.Value.TimeOfDay; 

Aby przypisać DateTime do obu tych kontrolek, użyj następującego kodu

datePortionDateTimePicker.Value  = myDate.Date;  
timePortionDateTimePicker.Value  = myDate.TimeOfDay; 
 45
Author: Vectoria,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-08 10:22:14

Niestety, jest to jeden z wielu błędów w ramach, lub w najlepszym razie naruszenie SRP.

Aby użyć DateTimePicker dla times, ustaw właściwość Format NA Time lub niestandardowe (użyj niestandardowe, Jeśli chcesz kontrolować format czasu za pomocą właściwość CustomFormat). Następnie ustaw właściwość ShowUpDown na true.

Chociaż użytkownik może ręcznie ustawić datę i godzinę, nie może użyć interfejsu graficznego do Ustawienia obu.

 43
Author: Nescio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 15:31:37

DateTime Picker może być używany do wybierania zarówno daty, jak i czasu, dlatego nazywa się go "date and Time Picker". Możesz ustawić właściwość "Format" na " Custom " i ustawić kombinację różnych specyfikacji formatu, aby reprezentować/wybierać datę/czas w różnych formatach we właściwości " Custom Format". Jeśli jednak chcesz zmienić datę, możesz użyć kalendarza pop-up, natomiast w przypadku wyboru czasu (w tej samej kontroli musisz użyć klawiszy GÓRA/DÓŁ, aby zmienić wartości.

Na przykład niestandardowy format " ddddd, MMMM dd, yyyy hh: mm: ss TT " da wynik taki:"Thursday, August 20, 2009 02:55:23 PM ".

MMMM Da " August ", natomiast MM Da " Aug "
 20
Author: Danish,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-20 10:02:46

Przejdź do Properties swojego dateTimePicker w Visual Studio i ustaw Format na Custom. W polu CustomFormat Wprowadź swój format. W moim przypadku użyłem MMMMdd, yyyy | hh:mm

Tutaj wpisz opis obrazka
datetimepickerprzypisy

 9
Author: Serge Voloshenko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-10 22:32:56

Możesz go wyświetlić Czas. Od tego prawdopodobnie będziesz musiał mieć dwie kontrole (jedna data, jeden czas) osiągnąć to, co chcesz.

 1
Author: Craig,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 15:35:17

Obawiam się, że kontroler DateTimePicker nie jest w stanie tego robić. To dość podstawowe (i frustrujące!) control. Najlepszym rozwiązaniem może być znalezienie kontroli innej firmy, która robi to, co chcesz.

Dla opcji ręcznego wpisywania daty i czasu, można zbudować własny komponent z kombinacją TextBox / DateTimePicker, aby to osiągnąć, i może to działać rozsądnie dobrze, jeśli kontrolki innych firm nie są dostępne.

 1
Author: Jeffrey L Whitledge,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-18 15:35:44