17

我想以 09/07/2013 格式而不是 09-jul-13 格式显示日期。

Dim dt As Date = Date.Today

MsgBox(dt)
4

7 回答 7

37

首先,大写的 MM 是月份,小写的 mm 是分钟。

您必须传递CultureInfo.InvariantCulturetoToString以确保/使用日期分隔符,因为它通常会被当前区域性的日期分隔符替换:

MsgBox(dt.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture))

另一种选择是通过在 ' 中嵌入 / 来转义该自定义格式说明符:

dt.ToString("dd'/'MM'/'yyyy")

MSDN:“/”自定义格式说明符

“/”自定义格式说明符表示日期分隔符,用于区分年、月和日。从当前或指定 区域性DateTimeFormatInfo.DateSeparator的属性中检索适当的本地化日期分隔符 。

于 2013-07-09T10:49:47.770 回答
11

尝试这个。

 var dateAsString = DateTime.Now.ToString("dd/MM/yyyy");
// dateAsString = "09/07/2013"

查看此链接以获取更多格式化数据和时间

于 2013-07-09T10:50:13.010 回答
4

像这样 ..

MsgBox(format(dt,"dd/MM/yyyy"))
于 2013-07-09T10:44:45.887 回答
1
Dim formattedDate As String = Date.Today.ToString("dd/MM/yyyy")

检查下面的链接

于 2013-07-09T10:57:16.927 回答
1

您可以将日期分解为其组成部分,然后将它们连接在一起,如下所示:

MsgBox(Now.Day & "/" & Now.Month & "/" & Now.Year)
于 2015-08-05T17:54:55.313 回答
1

如果您想在导出到 Excel 时显示日期和时间,那么您可以使用它

xlWorkSheet.Cells(nRow, 3).NumberFormat = "dd/mm/yy h:mm AM/PM"
于 2018-09-05T08:39:55.387 回答
1

我发现这适合 21 世纪的日期,可以输入为 dd/mm 或 dd/mm/yy。它旨在打印出勤登记册并询问会议的开始日期。

Sub Print_Register()

Dim MeetingDate, Answer

    Sheets("Register").Select
    Range("A1").Select
GetDate:
    MeetingDate = DateValue(InputBox("Enter the date of the meeting." & Chr(13) & _
    "Note Format" & Chr(13) & "Format DD/MM/YY or DD/MM", "Meeting Date", , 10000, 10000))
    If MeetingDate = "" Then GoTo TheEnd
    If MeetingDate < 36526 Then MeetingDate = MeetingDate + 36526
    Range("Current_Meeting_Date") = MeetingDate
    Answer = MsgBox("Date OK?", 3)
    If Answer = 2 Then GoTo TheEnd
    If Answer = 7 Then GoTo GetDate
    ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
TheEnd:
End Sub
于 2016-12-31T15:34:01.103 回答