由于某种原因,vb一直在改变我的日期格式并且一开始就删除了0这不是一个问题,但它真的弄乱了我在gridview中的排序。
Dim aftersubtraction As Date
aftersubtraction = departuredate.AddDays(-dates1.Text)
dates.Add(aftersubtraction.AddDays(-gracep.Text))
答案 0 :(得分:3)
不要混淆日期在内部存储的方式(并不重要),以及显示的方式。
“2011年2月2日”与“02/02/2011”或“2/2/11”的日期相同。
如果您有日期变量并希望以某种方式显示它,则应使用正确的格式字符串 - custom或standard。
在你的情况下,你似乎想要这个:
Dim outputDate as String = myDate.ToString("dd/MM/yyyy") ' European/UK style
Dim outputDate as String = myDate.ToString("MM/dd/yyyy") ' US style
答案 1 :(得分:3)
DateTime对象将其变量存储为整数。它将始终参与此行为。为了防止这种情况发生,您需要将日期格式化为您选择的字符串,然后再将其发送到任何地方:
aftersubtraction.ToString("MM/dd/yyyy")
答案 2 :(得分:1)
试试这个:
.ToString("MM/dd/yyyy")
答案 3 :(得分:1)
除了Joel所说的 - 你不应该对日期对象的字符串表示进行排序 - 你应该对日期值本身进行排序,然后对它的排序方式无关紧要。
答案 4 :(得分:0)
将您的区域和语言设置更改为正确的文化,这可能会解决您的问题,但如果您在gridview中排序日期时遇到问题,则可能会传递将日期存储为字符串的数据源。