2016-09-03 85 views
0

如果sValue中的字符串傳入的是7.27 asp.net表示其有效日期;它不是,它只是數據的兩倍。我需要確保字符串有一年,它需要爲任何區域設置'日期格式',如m/d/y,d/m/y等。我似乎無法找到解決方案。如果它是真實的,那麼我將它轉換爲unix時間,這一切都正常工作。asp.net有效日期

這就是我所嘗試的,但正如前面提到的傳遞給IsDate的東西所說的是有效的(7月27日返回)。也許我需要看看字符串是否有一年?

For Each myRow As DataRow In targetTable.Rows 

      For Each myColumn As DataColumn In targetTable.Columns 
       'is date? is unix? not then convert 
       Dim sName As String = myColumn.ColumnName 
       Dim sValue As String = myRow(myColumn.ColumnName).ToString().Trim 

       Dim isValidDate As Boolean = IsDate(sValue) 
       If isValidDate = True Then 

        'Dim oDate As DateTime = Convert.ToDateTime(myRow(myColumn.ColumnName).ToString().Trim) 
        Dim dte As String = TimeToUnix(sValue) 
        myBuilder.Append(dte & "000,") 
       Else 
        myBuilder.Append(myRow(myColumn.ColumnName).ToString().Trim & ",") 
       End If 


      Next myColumn 

      myBuilder.Length -= 1 
      myBuilder.Append(vbCrLf) 
     Next myRow 

回答

0

不幸的是,7.27是一個有效的日期 - 當你說它需要接受任何格式。如果你不希望發生這種情況,那麼在Javascript onmouseout中,你將不得不檢查它是否有'點',並立即提醒或顯示錯誤,並提示用戶輸入可接受的格式,然後如果你能驗證服務器端想。

+0

7月27日是一個月/日,但沒有一年它不能幫助我。需要確保它有一年的字符串;其中可能有各種國家特定的格式,這是我無法控制的。 – Rob

+0

這就是爲什麼我說你需要在JS中檢查它,然後在asp.net中驗證它 – snit80

相關問題