0

我有以下代码,它从 VB 中的一些 DateTimePickers 中读取日期和时间。

我需要能够确定第一个值是 0 还是 1(例如 09:12... 或 12:13...),以及它是否以 0 开头以从字符串中删除该字符。

这是我到目前为止所拥有的,但无论如何它都需要第一个字符。

    DateFrom = Form1.DateTimePickerFrom.Value.ToString
    DateTo = Form1.DateTimePickerTo.Value.ToString
    VarTimeFrom = Form1.HourTimePickerFrom.Value.ToString
    VarTimeTo = Form1.HourTimePickerTo.Value.ToString

    Dim DateFromManipulated = Left(DateFrom, 10)
    Dim DateToManipulated = Left(DateTo, 10)
    Dim TimeFromManipulated = Right(VarTimeFrom, 9)
    Dim TimeToManipulated = Right(VarTimeTo, 9)

    If Left(DateFromManipulated, 1) = 0 Then

        TimeFromMan = TimeFromManipulated.Remove(0, 1)
    Else
        TimeFromMan = TimeFromManipulated
    End If


    If Left(TimeFromManipulated, 1) = 0 Then

        TimeToMan = TimeToManipulated.Remove(0, 1)
    Else
        TimeToMan = TimeToManipulated
    End If

    Console.WriteLine(DateFromManipulated)
    Console.WriteLine(TimeToMan)
    Console.WriteLine(TimeFromManipulated)
    Console.WriteLine(TimeFromMan)
    Console.WriteLine(DateToManipulated)
    Console.WriteLine(TimeToManipulated)

我得到以下信息:

09/11/2012
1:36:00 
06:36:00 
6:36:00 
08/01/2013
11:36:00 

提前致谢!

麦克风

4

1 回答 1

4

VB.NET 中的字符串不会与整数进行比较。不过,您可以只引用字符零:

If DateFromManipulated(0) = "0"c Then DateFromManipulated = DateFromManipulated.Substring(1)

...但是,您应该只是按照您希望的方式格式化您的日期:

Dim dateFrom As String = DateTimePickerFrom.Value.ToString("M/dd/yyyy H:mm:ss")

... 例如。(M没有前导零,与MM; 相同H。)您可以在此处找到所有格式字符串:http: //msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

于 2013-01-08T01:50:32.550 回答