Vb6 如何选择每月和每年的日期?

Vb6 如何选择每月和每年的日期?,vb6,Vb6,使用vb6 在我的项目中使用两个DTPicker,我想选择月和年,如MM/yyyy和yyyy 现在我使用的是每日日期,如2009年2月23日(dd/MM/yyyy),我想使用每月(MM/yyyy)和每年(yyyy) 我的代码 Public Function DaysInMonth(dte As Date) As Integer Dim d As Date d = DateAdd("m", 1, dte) d = DateAdd("d", -1, d) DaysIn

使用vb6

在我的项目中使用两个DTPicker,我想选择月和年,如MM/yyyy和yyyy

现在我使用的是每日日期,如2009年2月23日(dd/MM/yyyy),我想使用每月(MM/yyyy)和每年(yyyy)

我的代码

Public Function DaysInMonth(dte As Date) As Integer
    Dim d As Date
    d = DateAdd("m", 1, dte)
    d = DateAdd("d", -1, d)
    DaysInMonth = Day(d)
End Function

Private Sub Form_Load()

Dim dteFrom As Date
Dim dteTo As Date
dteFrom = Format(CDate(Year(Date) & "-" & Month(Date) & "-" & "01"), "yyyy-mm-dd")
dteTo = Format(CDate(Year(Date) & "-" & Month(Date) & "-" & DaysInMonth(dteFrom)), "yyyy-mm-dd")

dtpFrom.Value = dteFrom
dtpTo.Value = dteTo

End Sub
以上代码适用于每日日期。我想使用每月和每年的日期也 现在我选择一个日期,它显示日期的完整值,如03-02-2009,我想显示每月和每年的数据

预期产出

每月日期

03/2009 to 04/2009 – It should take a value of 01/03/2009 to 30/04/2009
05/2009 to 05/2009 – It should take a value of 01/05/2009 to 31/05/2009
年度日期

2008 to 2008 – It should take a value of 01/01/2008 to 31/12/2008
2008 to 2009 – It should take a value of 01/01/2008 to 31/12/2009
如何选择每月和每年


需要VB 6代码帮助

您可以将DTPicker上的格式设置为3(dtpCustom),将CustomFormat设置为MM/yyyy。这将在文本部分显示月/年格式,但您仍然可以在下拉列表中看到完整的日历

如果要禁用日历,可以将设置为True。然后,您将使用向上/向下按钮而不是下拉按钮

您需要确保隐藏值(日部分)是正确的

编辑: 好的,从你的评论中我知道你对日期选择器很满意,但是你想用特殊的格式显示结果吗

示例:
所选日期为20/8/2009,并存储在日期变量a

显示为2009

MsgBox Format(a, "yyyy")
MsgBox Format(a, "mm/yyyy")
MsgBox Format(a, "mmmm, yyyy")
MsgBox Format(a, "mmm, yyyy")
显示为2009年8月

MsgBox Format(a, "yyyy")
MsgBox Format(a, "mm/yyyy")
MsgBox Format(a, "mmmm, yyyy")
MsgBox Format(a, "mmm, yyyy")
显示为2009年8月的

MsgBox Format(a, "yyyy")
MsgBox Format(a, "mm/yyyy")
MsgBox Format(a, "mmmm, yyyy")
MsgBox Format(a, "mmm, yyyy")
显示为2009年8月的

MsgBox Format(a, "yyyy")
MsgBox Format(a, "mm/yyyy")
MsgBox Format(a, "mmmm, yyyy")
MsgBox Format(a, "mmm, yyyy")

这就是您想要的吗?

您可以将DTPicker上的格式设置为3(dtpCustom),将CustomFormat设置为MM/yyyy。这将在文本部分显示月/年格式,但您仍然可以在下拉列表中看到完整的日历

如果要禁用日历,可以将设置为True。然后,您将使用向上/向下按钮而不是下拉按钮

您需要确保隐藏值(日部分)是正确的

编辑: 好的,从你的评论中我知道你对日期选择器很满意,但是你想用特殊的格式显示结果吗

示例:
所选日期为20/8/2009,并存储在日期变量a

显示为2009

MsgBox Format(a, "yyyy")
MsgBox Format(a, "mm/yyyy")
MsgBox Format(a, "mmmm, yyyy")
MsgBox Format(a, "mmm, yyyy")
显示为2009年8月

MsgBox Format(a, "yyyy")
MsgBox Format(a, "mm/yyyy")
MsgBox Format(a, "mmmm, yyyy")
MsgBox Format(a, "mmm, yyyy")
显示为2009年8月的

MsgBox Format(a, "yyyy")
MsgBox Format(a, "mm/yyyy")
MsgBox Format(a, "mmmm, yyyy")
MsgBox Format(a, "mmm, yyyy")
显示为2009年8月的

MsgBox Format(a, "yyyy")
MsgBox Format(a, "mm/yyyy")
MsgBox Format(a, "mmmm, yyyy")
MsgBox Format(a, "mmm, yyyy")

这就是你想要的吗?

@awe。我得到日期值,比如a=dtpicker1,msgbox(a)它显示的是01/02/2009。它应该显示2009年2月。当我选择一个日期,比如2009年1月1日到2009年1月1日。记录显示了一天。它应该显示1月(31天)的记录。如何修改我的代码。请……我改变了答案,添加了一个例子,这就是你想要的吗?@awe。我得到日期值,比如a=dtpicker1,msgbox(a)它显示的是01/02/2009。它应该显示2009年2月。当我选择一个日期,比如2009年1月1日到2009年1月1日。记录显示了一天。它应该显示1月(31天)的记录。如何修改我的代码。请…我改变了我的答案,添加了一个例子,这是你想要的吗?