2016-09-03 46 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

相关问题