VB.NET字符串格式化:如何将日期'2020/03/30'转为'20200330'
解决日期拼接丢失前导零的问题
嘿,我懂你遇到的问题啦——直接拼接年份、月份和日期的时候,遇到个位数的月份或日期就会丢失前导零,导致结果变成2020330而不是想要的20200330。别发愁,这里有两种简单靠谱的解决办法:
方法1:使用内置日期格式化函数(最推荐)
这是最简洁也最不容易出错的方式,直接利用语言自带的日期格式化功能生成目标格式:
Format(Date.Now, "YYYYMMDD")
YYYY:代表四位完整年份(比如2020)MM:代表两位月份,自动补前导零(3月会变成03,12月就是12)DD:代表两位日期,同样自动补零(30日是30,5日则是05)
执行这段代码就能直接得到20200330这种符合要求的格式。
如果是在VB.NET环境下,写法类似:
Date.Now.ToString("yyyyMMdd")
方法2:手动为月份/日期补前导零后拼接
如果你更习惯保持拼接的思路,只需要给月份和日期单独做补零处理,确保它们始终是两位数字:
Date.Now.Year & Right("0" & Date.Now.Month, 2) & Right("0" & Date.Now.Day, 2)
原理很简单:
- 给月份前面先加一个
0,比如3月会变成03,然后用Right函数取右边两位,这样不管是1-9月还是10-12月,结果都是两位数字 - 日期部分用同样的逻辑处理,最后和年份拼接,就能得到正确的
20200330
内容的提问来源于stack exchange,提问作者Mosaad Zeno
相关产品推荐
相关产品推荐

