2009-08-19 85 views
0

使用VB 6如何选择每月和每年的日期?

在我的项目使用两个DTPicker,我想选择每月和每年的喜欢的MM/YYYY而yyyy

现在使用日报发布时间的喜欢23/02/2009(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码帮助

回答

1

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

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

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

编辑: OK,从您的评论我明白,你是幸福的日期选择器,但你要显示的结果在一个特殊的格式?

实施例:
选择日期是20/8/2009,并存储在变量一个日期。

显示为2009年

MsgBox Format(a, "yyyy") 

显示为08/2009

MsgBox Format(a, "mm/yyyy") 

显示为2009年8月:

MsgBox Format(a, "mmmm, yyyy") 

显示为月,2009年

MsgBox Format(a, "mmm, yyyy") 

这是你想要的吗?

+0

@awe。我得到Date值,如= dtpicker1,msgbox(a)它显示01/02/2009。它应该显示02/2009。并且当我选择像01/2009到01/2009这样的日期时。记录显示一天。它应该显示1月(31天)记录。如何修改我的代码。请.... – Gopal 2009-08-19 13:56:13

+0

我改变了我的答案添加一个例子,这是你想要的? – awe 2009-08-21 10:30:44

相关问题