DateTimePicker以错误的格式显示日期

时间:2011-05-03 10:51:30

标签: vb.net winforms datetimepicker

我有一个ListView,其中输入了ID和日期。日期格式为dd / MM / yyyy。

enter image description here

在SelectedIndexChanged属性中,我写了这个

If lvRecruitmentList.SelectedItems.Count > 0 Then
   txtID.Text = lvRecruitmentList.SelectedItems(0).Text
   dtpRecievedOn.Text = lvRecruitmentList.SelectedItems(0).SubItems(1).Text
End If

在dtpRecievedOn DateTimePicker中,日期显示如下

enter image description here

我已通过设计师

设置了以下属性
dtpRecievedOn.Format = Custom
dtpRecievedOn.CustomFormat = "dd/MM/yyyy"

修改1

请注意,在ListView中,日期的格式为dd / MM / yyyy 在dtpRecievedOn中,Date的格式为MM / dd / yyyy。

如何以dd / MM / yyyy

格式制作dtpRecievedOn显示日期

2 个答案:

答案 0 :(得分:3)

您需要设置DateTimePicker的值而不是Text。您可以使用DateTime.ParseExactDateTime.TryParseExact将文本日期更改为DateTime。将第三行替换为:

Dim selectedDate As DateTime
Dim format As String = "dd/MM/yyyy"
Dim txt As String = lvRecruitmentList.SelectedItems(0).SubItems(1).Text
selectedDate = DateTime.ParseExact(txt, format, CultureInfo.InvariantCulture)
dtpRecievedOn.Value = selectedDate

答案 1 :(得分:-1)

Dim str As String() = "2/1/2000".Split("/"C)
Dim dt As New DateTime(Convert.ToInt16(str(2)), Convert.ToInt16(str(1)), Convert.ToInt16(str(0)))
dateTimePicker1.Value = dt.Date