将Time转换为字符串格式VB.net

时间:2012-08-08 01:00:47

标签: vb.net

我正在尝试将日期格式化为特定字符串,而代码正在返回incorect结果。

CDate(RDate).ToString("ddMMy")

返回年份,因为2位数有一种方法可以让它返回正确的最后一位数字吗?我知道我可以使用substring来获得结果,但我想使用格式字符串来允许客户创建自己的。

4 个答案:

答案 0 :(得分:2)

将它们与String.Format()粘合在一起:

    Dim dt = CDate(RDate)
    Dim s = String.Format("{0}{1}", dt.ToString("ddMM"), dt.Year Mod 10)

答案 1 :(得分:1)

'y'表示如果年份在0到9之间,则删除前导0。没有格式可以获得年份的最后一位数。

有关可用的自定义格式,请参阅MSDN documentation

答案 2 :(得分:1)

自定义格式年份格式仅限于返回至少2位数年份,除非Compentent_tech提到您使用y的位置且年份以00到09结尾。您可以查看{{3 }}。您需要使用字符串操作来实现您想要的效果。


使用这个事实你可以尝试这样的事情。

Dim RDate As Date = Now.Date
Dim NDate As Date = New Date((RDate.Year Mod 10), RDate.Month, RDate.Day)
CDate(NDate).ToString("ddMMy")

答案 3 :(得分:0)

试试这段代码:

Dim dt As DateTime = DateTime.Now

CDate(dt).ToString("ddMMyy").Remove(4, 1)

此代码会删除2位数年份值中的第一位。