Câu trả lời:
Đặt Định dạng thành Tùy chỉnh và sau đó chỉ định định dạng:
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "MM/dd/yyyy hh:mm:ss";
hoặc tuy nhiên bạn muốn đặt 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 sử dụng giá trị số cho tháng để nhập, trừ khi bạn tự viết một số mã cho điều đó (ví dụ: 5 kết quả vào tháng 5)
Không biết về công cụ chọn ngày và thời gian cùng nhau. Âm thanh như một điều khiển tùy chỉnh với tôi.
System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern
và System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern
để có được định dạng cho văn hóa hiện tại. Liên kết MSDN
Dim date As String = CultureInfo...ShortDatePattern Dim time As String = CultureInfo...ShortTimePattern dtpThing.Format = DateTimePickerFormat.Custom dtpThingEnd.CustomFormat = date + " " + time
Bạn cũng có thể giới hạn, giả sử, thành phần thời gian theo cách thủ công: Dim date As String = CultureInfo...ShortDatePattern Dim time As String = CultureInfo...ShortTimePattern dtpThing.Format = DateTimePickerFormat.Custom dtpThingEnd.CustomFormat = date + " HH:mm"
Tốt nhất là 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 dành cho phần thời gian. Định dạng DateTimePicker thứ hai như sau.
timePortionDateTimePicker.Format = DateTimePickerFormat.Time;
timePortionDateTimePicker.ShowUpDown = true;
Hai nên trông như thế này sau khi bạn chụp chúng
Để lấy DateTime từ cả hai điều khiển này, hãy sử dụng đoạn mã sau
DateTime myDate = datePortionDateTimePicker.Value.Date +
timePortionDateTimePicker.Value.TimeOfDay;
Để gán DateTime cho cả hai điều khiển này, hãy sử dụng đoạn mã sau
datePortionDateTimePicker.Value = myDate.Date;
timePortionDateTimePicker.Value = myDate.TimeOfDay;
Thật không may, đây là một trong nhiều cách hiểu sai trong khuôn khổ hoặc í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 bằ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 và giờ theo cách thủ công, họ không thể sử dụng GUI để đặt cả hai.
Bộ chọn DateTime 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 chỉ định định dạng khác nhau để thể hiện / chọn ngày / giờ ở 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 bật lên có thể được sử dụng trong khi đó trong trường hợp chọn Thời gian (trong cùng một điều khiển, bạn buộc phải sử dụng các phím lên / xuống để thay đổi giá trị.
Ví dụ: định dạng tùy chỉnh " ddddd, MMMM dd, yyyy hh: mm: ss tt " sẽ cho bạn kết quả như sau: " Thứ năm, ngày 20 tháng 8 năm 2009 02:55:23 PM ".
Bạn có thể chơi xung quanh với các kết hợp khác nhau để xác định định dạng phù hợp với nhu cầu của mình, ví dụ: MMMM sẽ cho " tháng 8 " trong khi MM sẽ cho " tháng 8 "
yyyy-MM-dd HH:mm
) và sau đó trả về một giá trị chỉ phản ánh một phần của ngày và giờ được hiển thị . Tôi gọi nó là một lỗi, nhưng nó đã tồn tại trong nhiều thập kỷ ...
Chuyển đến Visual Studio Properties
của bạn dateTimePicker
và đặt Format
thành Custom
. Dưới CustomFormat
nhập định dạng của bạn. Trong trường hợp của tôi, tôi đã sử dụngMMMMdd, yyyy | hh:mm
Tôi sợ điều khiển DateTimePicker không có khả năng thực hiện những việc đó. Đó là một điều khiển khá cơ bản (và bực bội!). Tùy chọn tốt nhất của bạn có thể là tìm một điều khiển của bên thứ ba thực hiện những gì bạn muốn.
Đối với tùy chọn nhập ngày và giờ theo cách thủ công, bạn có thể xây dựng một thành phần tùy chỉnh với kết hợp TextBox / DateTimePicker để thực hiện việc 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.