用户输入时间跨度转换VB的适当格式

时间:2015-05-13 02:14:10

标签: vb.net variables datetime datetimepicker timespan

我目前正在使用组合框为用户输入要存储到DateTime变量中的指定时间。然后将分别添加或减去这些DateTime变量以获取TimeSpan变量。 组合框文本如果格式如下:

12:00:00 AM
01:00:00 AM
02:00:00 AM
03:00:00 AM
'ect...

这是我在将组合框信息输入DateTime变量时的代码:

parentsStart = CDate(ComboBox2.SelectedText)
parentsEnd = CDate(ComboBox3.SelectedText)

这显然不是代码。将用户输入到DateTime变量的组合框或转换方法的正确格式是什么?用户还可以通过DateTimePicker更好地输入时间值吗?

1 个答案:

答案 0 :(得分:0)

我不认为时代的格式有任何问题。您只需在将String转换为DateTime对象时使用List

请原谅代码示例,因为我正在使用https://dotnetfiddle.net模拟您要求的内容,因此我使用ComboBoxes代替List。使用我的ComboBox对象的区域将替换为Imports System Imports System.Collections.Generic Public Module Module1 Public Sub Main() Dim myComboBox As New List(Of String) myComboBox.Add("12:00:00 AM") myComboBox.Add("1:00:00 AM") myComboBox.Add("2:00:00 AM") myComboBox.Add("3:00:00 AM") Dim myComboBox2 As New List(Of String) myComboBox2.Add("12:00:00 AM") myComboBox2.Add("1:00:00 AM") myComboBox2.Add("2:00:00 AM") myComboBox2.Add("3:00:00 AM") ' myComboBox(2) selects 2:00:00 AM and converts it to a DateTime object Dim myTimeStart As DateTime = DateTime.Parse(myComboBox(2)) ' myComboBox2(3) selecs 3:00:00 AM and converts it to a DateTime object Dim myTimeEnd As DateTime = DateTime.Parse(myComboBox2(3)) ' Subtracting myTimeStart from myTimeEnd results in a TimeSpan object Dim myTimeSpan = myTimeEnd.Subtract(myTimeStart) ' Output to console to show the results of the subtraction Console.WriteLine(myTimeSpan) End Sub End Module 个对象

CREATE TABLE IF NOT EXISTS `pma_usergroups` (
  `usergroup` varchar(64) NOT NULL,
  `tab` varchar(64) NOT NULL,
  `allowed` enum(‘Y’,’N’) NOT NULL DEFAULT ‘N’,
  PRIMARY KEY (`usergroup`,`tab`,`allowed`)
) 

结果:

  

01:00:00

点击https://dotnetfiddle.net/JOqFLB查看示例和结果

如果要使用DateTimePicker而不是ComboBox,请参阅https://msdn.microsoft.com/en-us/library/vstudio/ms229631(v=vs.100).aspx。 DateTimePicker可以设置为仅显示和配置时间。