如何选择月度和年度日期?

时间:2009-08-19 13:20:02

标签: vb6

使用VB 6

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

现在正在使用每日日期,如23/02/2009(日/月/日),我想使用像月刊(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代码帮助

1 个答案:

答案 0 :(得分:1)

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

如果要禁用日历,可以将UpDown设置为True。然后你会得到上/下按钮而不是下拉列表。

您需要确保隐藏值(日期部分)正确。

修改 好的,从您的评论我明白您对日期选择器感到满意,但您想以特殊格式显示结果吗?

<强> 实施例
所选日期为 20/8/2009 ,并存储在日期变量 a 中。

显示为 2009

MsgBox Format(a, "yyyy")

显示为 08/2009

MsgBox Format(a, "mm/yyyy")

显示为 2009年8月

MsgBox Format(a, "mmmm, yyyy")

显示为 2009年8月

MsgBox Format(a, "mmm, yyyy")

这是你想要的吗?