我正在尝试将日期格式化为特定字符串,而代码正在返回incorect结果。
CDate(RDate).ToString("ddMMy")
返回年份,因为2位数有一种方法可以让它返回正确的最后一位数字吗?我知道我可以使用substring来获得结果,但我想使用格式字符串来允许客户创建自己的。
答案 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位数年份值中的第一位。