Có thể sử dụng DateTimePicker (Winforms) để chọn cả ngày và giờ (trong menu thả xuống) không? Làm thế nào để bạn thay đổi hiển thị tùy chỉnh của giá trị đã chọn? Ngoài ra, có thể cho phép người dùng nhập ngày/giờ theo cách thủ công không?DateTimePicker: chọn cả ngày và giờ
Trả lời
Đặt Format Custom và sau đó xác định định dạng:
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "MM/dd/yyyy hh:mm:ss";
hay tuy nhiên bạn muốn để đẻ nó ra. Sau đó, bạn có thể nhập trực tiếp ngày/giờ. Nếu bạn sử dụng MMM, bạn sẽ cần phải sử dụng giá trị số cho tháng để nhập, trừ khi bạn tự viết một số mã đó (ví dụ: 5 kết quả trong tháng 5)
Không biết về bộ chọn ngày và cùng nhau. Âm thanh như một điều khiển tùy chỉnh với tôi.
Thật không may, đây là một trong nhiều sai lầm trong khuôn khổ, hoặc tốt nhất là vi phạm SRP.
Để sử dụng DateTimePicker cho thời gian, hãy đặt thuộc tính Định dạng thành Thời gian hoặc Tùy chỉnh (Sử dụng tùy chỉnh nếu bạn muốn kiểm soát định dạng thời gian sử dụng thuộc tính CustomFormat). Sau đó đặt thuộc tính ShowUpDown thành true.
Mặc dù người dùng có thể đặt ngày giờ theo cách thủ công, họ không thể sử dụng GUI để đặt cả hai.
+1 Cám ơn những lời khuyên. Đây là những gì tôi đang tìm kiếm. –
Bạn có thể hiển thị nó để hiển thị time. Từ đó bạn có thể sẽ phải có hai điều khiển (một ngày, một lần) thực hiện những gì bạn muốn.
Tôi sợ điều khiển DateTimePicker không có khả năng thực hiện những điều đó. Đó là một điều khiển khá cơ bản (và bực bội!). Lựa chọn tốt nhất của bạn có thể là tìm điều khiển của bên thứ ba thực hiện những gì bạn muốn. Để có tùy chọn nhập ngày và giờ theo cách thủ công, bạn có thể tạo thành phần tùy chỉnh với kết hợp TextBox/DateTimePicker để thực hiện điều này và nó có thể hoạt động khá tốt, nếu điều khiển của bên thứ ba không phải là một tùy chọn.
Bộ chọn ngày giờ có thể được sử dụng để chọn cả ngày và giờ là lý do tại sao nó được gọi là 'Bộ chọn ngày và giờ'. Bạn có thể đặt thuộc tính "Định dạng" thành "Tùy chỉnh" và đặt kết hợp các định dạng khác nhau để thể hiện/chọn ngày/giờ theo các định dạng khác nhau trong thuộc tính "Định dạng tùy chỉnh". Tuy nhiên nếu bạn muốn thay đổi Ngày, thì lịch pop-up có thể được sử dụng trong trường hợp chọn Thời gian (trong cùng một điều khiển, bạn phải sử dụng các phím lên/xuống để thay đổi giá trị). "ddddd, MMMM dd, yyyy hh: mm: ss tt" sẽ cung cấp cho bạn một kết quả như thế này: "Thứ Năm 20 Tháng Tám, 2009 14:55:23"
bạn có thể chơi xung quanh với các kết hợp khác nhau cho các định dạng thông số cho phù hợp với nhu cầu của bạn, ví dụ: MMMM sẽ cung cấp "August" trong khi MM sẽ cung cấp "Aug"
"Bộ chọn ngày giờ có thể được sử dụng để chọn cả ngày tháng và thời gian đó là lý do tại sao nó được gọi là 'Ngày và Bộ chọn thời gian'." - ngoại trừ việc nó không thể, đó là lý do tại sao câu hỏi được hỏi. –
Thật vậy, điều khiển này rất bực bội. Tôi chỉ dành một mã gỡ lỗi buổi chiều cho đến khi tôi nhận ra rằng điều darn sẽ trả về một giá trị đại diện cho ngày người dùng đã chỉnh sửa ** HOẶC ** thời gian, nhưng không phải cả hai. Tôi phải thông báo: làm cách nào một điều khiển có thể hiển thị ngày và giờ hợp lệ do người dùng chỉnh sửa (định dạng tùy chỉnh của tôi là 'yyyy-MM-dd HH: mm') và sau đó trả lại giá trị chỉ phản ánh một phần của ** được hiển thị ** ngày và giờ. Tôi muốn gọi nó là một lỗi, nhưng nó đã ở đó trong nhiều thập kỷ ... – EBlake
Tốt nhất nên sử dụng hai DateTimePickers cho công việc Một sẽ là mặc định cho phần ngày và DateTimePicker thứ hai là dành cho phần thời gian.Định dạng DateTimePicker thứ hai như sau.
timePortionDateTimePicker.Format = DateTimePickerFormat.Time;
timePortionDateTimePicker.ShowUpDown = true;
Hai sẽ trông như thế này sau khi bạn chụp chúng
Để có được DateTime từ cả các điều khiển sử dụng đoạn mã sau
DateTime myDate = datePortionDateTimePicker.Value.Date +
timePortionDateTimePicker.Value.TimeOfDay;
Giao DateTime để cả hai điều khiển này đều sử dụng mã sau đây
datePortionDateTimePicker.Value = myDate.Date;
timePortionDateTimePicker.Value = myDate.TimeOfDay;
Có khả năng tăng tần suất phút lên 30 phút không? Khi người dùng nhấp vào nút lên hoặc xuống? – FaizanRabbani
Câu trả lời hay! Tôi đã tùy chỉnh UserControl để tái sử dụng nó nhiều lần trong dự án của tôi. – mpasko256
- 1. Ngày giờ, Ngày giờ? và LINQ
- 2. Ngày và Ngày giờ
- 3. Ngày giờ mới() và mặc định (Ngày giờ)
- 4. CHỌN LỰA CHỌN Ngày giờ khớp với ngày (và không nhất thiết là thời gian)
- 5. datetimepicker getDate để trả về Ngày/Giờ theo định dạng UTC
- 6. Tham gia Ngày và Giờ tới Ngày giờ trong C#
- 7. Bắt tất cả Ngày giờ giữa hai 'Ngày giờ trong C#
- 8. Bộ chọn ngày giờ JQuery - Chỉ cần chọn tháng và năm duy nhất
- 9. ExtJS ngày và múi giờ
- 10. Định dạng ngày và giờ
- 11. Biên dịch ngày và giờ
- 12. Bộ chọn thời gian ngày - Cài đặt ngày và giờ mở
- 13. DateTimePicker AM/PM Dropdown
- 14. Nhận ngày và giờ khác nhau theo ngày, giờ, phút và giây trong Android
- 15. MySQL: Chèn ngày giờ vào trường ngày giờ khác
- 16. Php nhận số ngày và giờ còn lại từ ngày
- 17. Chọn mục nhập theo ngày -> = NGAY BÂY GIỜ(), MySQL
- 18. DateTimePicker tự động di chuyển đến ngày tiếp theo
- 19. Chọn bản ghi từ NGAY BÂY GIỜ() -1 Ngày
- 20. Đường ray - Chọn ngày theo múi giờ được chỉ định
- 21. chọn các bản ghi có ngày trong 24 giờ qua
- 22. Đọc csv với ngày và giờ
- 23. Ngày có thể chỉnh sửa trong DataGridView sử dụng dateTimePicker
- 24. Đặt NSDate thành ngày, giờ và múi giờ cụ thể
- 25. Có bộ chọn ngày và giờ tốt và miễn phí nào cho Java Swing không?
- 26. Đường ray - lấy ngày từ ngày và giờ đóng dấu
- 27. Cách tạo ngày và giờ ngẫu nhiên giữa hai ngày?
- 28. Tạo ngày giờ trong Rails bằng tháng, ngày và năm
- 29. Mysql/Php - Ngày và giờ hiện tại
- 30. Lấy ngày và giờ hiện tại
cảm ơn bạn rất nhiều !! đã cứu tôi lớn. – rlee923
Đồng hồ 24 giờ: "dd MM yyyy HH mm ss". Tôi đoán nhà phát triển phải quan tâm đến việc bản địa hóa (định dạng ngày/giờ khác nhau ở các quốc gia khác nhau). Chúc mừng từ Áo. – hfrmobile
@hfrmobile - bạn cũng có thể sử dụng 'System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern' và' System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern' để lấy định dạng cho văn hóa hiện tại. [Liên kết MSDN] (https://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo) –