VB.NET也区会大小写

今天用FORMAT对日期进行格式化时发现格式化后的日期月份错了,无论是什么月份都会变成00,找了大半天原因才发现VB.NET的FORMAT函数对日期和时间进行格式化时的格式参数也区分大小写了,月份小时要是大写的字母.具体的说明MSDN有相关的介绍.

 错误的写法:

        Dim dtFrom As Date
        Dim dtfStr As String

        dtFrom = dtpCutDateFrom.Text
        dtfStr = Format(dtFrom, "yyyymmdd")     'MM应该为大写

        如果dtFrom为:2006-04-28,则dtfStr为:20060028(月份错了)

正常的写法:   

        Dim dtFrom As Date
        Dim dtfStr As String

        dtFrom = dtpCutDateFrom.Text
        dtfStr = Format(dtFrom, "yyyyMMdd") 

 


 

以下为MSDN的介绍:

Visual Basic 语言参考

Format 函数请参见
不同数值的不同格式(Format 函数) | 预定义日期/时间格式(Format 函数) | 预定义的数字格式(Format 函数) | Str 函数 | 类型转换函数 | 用户定义的日期/时间格式(Format 函数) | 用户定义的数字格式(Format 函数) | String.Format 方法
要求
命名空间:Microsoft.VisualBasic

模块:Strings

程序集:Microsoft Visual Basic .NET 运行库(位于 Microsoft.VisualBasic.dll 中)
返回根据格式 String 表达式中包含的指令设置格式的字符串。

Public Shared Function Format( _
ByVal Expression As Object, _
Optional ByVal Style As String = "" _
) As String
参数
Expression
必选项。任何有效的表达式。
Style
可选项。一个有效的命名或用户定义的格式 String 表达式。
设置
有关如何创建 Style 参数的信息,请参见下面列出的相应主题:

要格式化的内容 执行此操作
数字 使用预定义的数字格式或创建用户定义的数字格式。
日期和时间 使用预定义的日期/时间格式或创建用户定义的日期/时间格式。
日期和时间序列数 使用日期和时间格式或数字格式。

如果试图在不指定 Style 的情况下格式化数字,则 Format 函数提供的功能与 Str 函数相似,这是众所周知的事。然而,被使用 Format 函数格式化为字符串的正数不包含为值的符号保留的前导空格;使用 Str 函数转换这些正数则保留前导空格。

备注
如果格式化非本地化数字字符串,应使用用户定义的数字格式,以确保得到所需的外观。

String.Format 方法也提供了类似的功能。

示例
本例显示同时使用 String 格式和用户定义格式格式化值的 Format 函数的各种用法。对于日期分隔符 (/)、时间分隔符 (:) 和 AM/PM 指示符(t 和 tt),系统显示的实际格式化输出取决于代码使用的区域设置。当在开发环境中显示时间和日期时,使用代码区域设置的短时间格式和短日期格式。

Dim MyDateTime As Date = #1/27/2001 5:04:23 PM#
Dim MyStr As String
' Returns current system time in the system-defined long time format.
MyStr = Format(Now(), "Long Time")
' Returns current system date in the system-defined long date format.
MyStr = Format(Now(), "Long Date")
' Also returns current system date in the system-defined long date
' format, using the single letter code for the format.
MyStr = Format(Now(), "D")
' Returns the value of MyDateTime in user-defined date/time formats.
MyStr = Format(MyDateTime, "h:m:s") ' Returns "5:4:23".
MyStr = Format(MyDateTime, "hh:mm:ss tt") ' Returns "05:04:23 PM".
MyStr = Format(MyDateTime, "dddd, MMM d yyyy") ' Returns "Saturday,
' Jan 27 2001".
MyStr = Format(MyDateTime, "HH:mm:ss") ' Returns "17:04:23"
MyStr = Format(23) ' Returns "23".
' User-defined numeric formats.
MyStr = Format(5459.4, "##,##0.00") ' Returns "5,459.40".
MyStr = Format(334.9, "###0.00") ' Returns "334.90".
MyStr = Format(5, "0.00%") ' Returns "500.00%".
要求
命名空间:Microsoft.VisualBasic

模块:Strings

程序集:Microsoft Visual Basic .NET 运行库(位于 Microsoft.VisualBasic.dll 中)

请参见
不同数值的不同格式(Format 函数) | 预定义日期/时间格式(Format 函数) | 预定义的数字格式(Format 函数) | Str 函数 | 类型转换函数 | 用户定义的日期/时间格式(Format 函数) | 用户定义的数字格式(Format 函数) | String.Format 方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值