我需要打破一个变量来获取数据库的值。今天我的全部回报将是“2017-09-15T14:01:46”我只需要2017-09-15和14:01,我试着去做
.Substring(0.10)为日期和工作,已经在我尝试使用Substring(11,16)并且出现问题标题中的错误。
答案 0 :(得分:0)
您对函数Substring的参数是错误的。
函数Substring的第二个参数(在你的情况下为16)需要是函数将返回的字母数量,而不是它需要结束的索引。
它将与Substring(11,5)类似,其中5是返回子字符串的长度。
Dim temp_date As String = "2017-09-15T14: 01: 46"
Dim main_date As String = temp_date.Substring(0, 10)
Dim main_time As String = temp_date.Substring(11, 6)
OR
使用AustinS90提出的日期时间对象的更好方法(这将支持很多时间格式化的字符串):
Dim temp_date As DateTime = DateTime.Parse("2017-09-15T14: 01: 46")
Dim main_date As String = temp_date.Year() & "-" & temp_date.Month() & "-" & temp_date.Day
Dim main_time As String = temp_date.Hour & ":" & temp_date.Minute
答案 1 :(得分:0)
因此,使用VB.NET,您可以使用DateTime方法。从DateTime,您可以为日期和DateTime.ToShortTimeString执行类似DateTime.Date或DateTime.ToShortDateString的操作。
答案 2 :(得分:0)
假设您的结果字符串中总是有大写字母
dim xValue as string = "2017-09-15T14: 01: 46"
dim xStr() as string = xValue.split("T")
dim xDate as string = ""
dim xTime as string = ""
if xstr.count>0 then
xDate = xStr(0)
xTime = xStr(1)
end if
或
dim xValue as string = "2017-09-15T14: 01: 46"
dim xDate as string = strings.left(xValue, 10)
dim xTime as string = strings.mid(xValue, 12)