Vb.net 格式化日期将删除零
我正在寻找一种方法,以保持零在一位数的月份和天数,但目前我这样做的方式是行不通的。我正在寻找一些关于可能发生了什么以及是否格式不正确的见解 目前,我只想将日期格式化为特定格式,以下是我的代码:Vb.net 格式化日期将删除零,vb.net,winforms,date,format,Vb.net,Winforms,Date,Format,我正在寻找一种方法,以保持零在一位数的月份和天数,但目前我这样做的方式是行不通的。我正在寻找一些关于可能发生了什么以及是否格式不正确的见解 目前,我只想将日期格式化为特定格式,以下是我的代码: dateFormat = Today.ToString("MM/dd/yyyy") 然而,这个值并不是我所期望的2013年2月13日的值,而是#2013年2月13日#删除所有前导零。这里发生了什么?为什么要给出#并删除所有前导零?您可以使用VB.NET的正确方法 您可以使用VB.NET的正确方式 将da
dateFormat = Today.ToString("MM/dd/yyyy")
然而,这个值并不是我所期望的2013年2月13日的值,而是#2013年2月13日#删除所有前导零。这里发生了什么?为什么要给出#并删除所有前导零?您可以使用VB.NET的正确方法
您可以使用VB.NET的正确方式
将dateFormat声明为字符串:
Dim dateFormat as string = DateTime.Today.ToString("MM/dd/yyyy")
至于“散列”。解释它
DateTime本身并不真正包含散列,而且
普通格式字符串也会产生哈希
将dateFormat声明为字符串:
Dim dateFormat as string = DateTime.Today.ToString("MM/dd/yyyy")
至于“散列”。解释它
DateTime本身并不真正包含散列,而且
普通格式字符串也会产生哈希
相关问题是:
dateFormat
属于什么类型?如果是日期
(或日期时间
),则格式化字符串将转换回日期
,格式将丢失。只有将格式化结果指定给字符串
,格式化才有效。Date
类型不存储任何格式。格式通常只适用于字符串
Dim dateFormat As String
dateFormat = Today.ToString("MM/dd/yyyy")
注意:如果您有选项Strict Off
,则VB会自动尝试转换不匹配的类型。在您的代码中,如果dateFormat
为Date
类型,则格式化字符串将自动转换为Date
。因此,选项严格关闭
是危险的,因为它隐藏了潜在的编程错误。我强烈建议您严格使用选项
。您可以按源文件或在项目属性中的Compile>选项Strict
下执行此操作
这样做时,您将丢失一些自动转换,并且必须显式指定这些转换,但这样会增加代码的安全性
您甚至可以在菜单Tools>Options
中将此选项设置为新项目的默认选项,然后导航到projects and Solutions>VB Defaults
。(至少与2008年相比)。我一直有:
Option Explicit On
Option Strict On
Option Compare Binary
Option Infer On
选项显式打开
选项严格限制在
选项比较二进制
选项推断
相关问题是:
dateFormat
属于什么类型?如果是日期
(或日期时间
),则格式化字符串将转换回日期
,格式将丢失。只有将格式化结果指定给字符串
,格式化才有效。Date
类型不存储任何格式。格式通常只适用于字符串
Dim dateFormat As String
dateFormat = Today.ToString("MM/dd/yyyy")
注意:如果您有选项Strict Off
,则VB会自动尝试转换不匹配的类型。在您的代码中,如果dateFormat
为Date
类型,则格式化字符串将自动转换为Date
。因此,选项严格关闭
是危险的,因为它隐藏了潜在的编程错误。我强烈建议您严格使用选项
。您可以按源文件或在项目属性中的Compile>选项Strict
下执行此操作
这样做时,您将丢失一些自动转换,并且必须显式指定这些转换,但这样会增加代码的安全性
您甚至可以在菜单Tools>Options
中将此选项设置为新项目的默认选项,然后导航到projects and Solutions>VB Defaults
。(至少与2008年相比)。我一直有:
Option Explicit On
Option Strict On
Option Compare Binary
Option Infer On
选项显式打开
选项严格限制在
选项比较二进制
选项推断
请显示所涉及的其余代码这是用于格式化日期的全部代码。除了将变量Dim dateFormat声明为DATETIME之外,还必须在其他地方出现错误。格式
MM
和dd
总是产生一个两位数!请显示所涉及的其余代码这是用于格式化日期的全部代码。除了将变量Dim dateFormat声明为DATETIME之外,还必须在其他地方出现错误。格式MM
和dd
总是产生一个两位数!这是“老派作风”而不是“正派作风”;-)但适合解决方案,有时比新的更具可读性:D
这是“老派方式”而不是“正确方式”;-)但适合该解决方案,有时比新的更具可读性:D