停止vb.net从2011年2月2日到2011年2月2日

时间:2011-02-07 20:56:31

标签: asp.net vb.net

由于某种原因,vb一直在改变我的日期格式并且一开始就删除了0这不是一个问题,但它真的弄乱了我在gridview中的排序。

Dim aftersubtraction As Date
aftersubtraction = departuredate.AddDays(-dates1.Text)
dates.Add(aftersubtraction.AddDays(-gracep.Text))

5 个答案:

答案 0 :(得分:3)

不要混淆日期在内部存储的方式(并不重要),以及显示的方式。

“2011年2月2日”与“02/02/2011”或“2/2/11”的日期相同。

如果您有日期变量并希望以某种方式显示它,则应使用正确的格式字符串 - customstandard

在你的情况下,你似乎想要这个:

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中排序日期时遇到问题,则可能会传递将日期存储为字符串的数据源。