2013-01-08 40 views
0

我有以下代碼,它從VB中的某些DateTimePickers中讀取日期和時間。如何檢查字符串的第一個字符是什麼vb

我需要能夠確定第一個值是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 

提前感謝!

Mike

+2

確實看起來像VB.Net,而不是VB6。 – Bob77

+0

我的不好,這是VB.net – Mike

+0

不要使用VB6風格...... VB.NET中的任何東西! 「Substring」好多了。但爲什麼不使用格式字符串? – Ryan

回答

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

相關問題