【问题标题】:How to get previous month and year如何获取上个月和上年
【发布时间】:2012-01-18 13:56:47
【问题描述】:

如何获取上个月和上一年

代码

Dim dtr As String
text1.Text = "01/2011" 'User Input.... (mm/yyyy)
dtr = text1.Text

如果用户选择 01/2011 那么日期应该显示上个月和上一年...

预期输出

  • 如果用户输入 text1.text = "02/2011" 那么它应该显示 "01/2011"
  • 如果用户输入 text1.text = "01/2011" 那么它应该显示 "12/2010"

谁能帮我做这个?

【问题讨论】:

  • 将字符串转换为日期字段,然后从日期中减去 1 个月并重新字符串,对不起,如果这是 .Net 不是 VB6 人,我可以提供帮助
  • Gopal 询问了 very similar question,现在他已被暂停,一个全新的用户开始提出类似的问题。
  • @JP - 那不可能是 Gopal。他没有以“需要 VB6 代码帮助”来结束这个问题。 :P
  • @SpectralGhost 有趣,但变化很肤浅。

标签: vb6


【解决方案1】:

基于我在您上一个问题上提供的答案...

Dim dt As Date
Dim DaysInLastMonth As Integer
Dim LastMonth As String

dt = CDate(txtPeriod.Text)
dt = DateAdd("m", -1, dt)
LastMonth = Format$(dt, "mm/yyyy")
DaysInLastMonth = DateDiff("d", dt, DateAdd("m", 1, dt))

MsgBox LastMonth & vbCrLf & DaysInLastMonth

【讨论】:

  • @Chris 出于某种原因,我从未想过要走那条路。 +1
【解决方案2】:

您可以使用 CDate() 将输入的文本转换为日期。

然后您可以执行 DateAdd(),指定月份单位和值 -1(用于减法)。

最后,您可以使用 Format() 转换回您要查找的 mm/yyyy 样式的字符串。

【讨论】:

    【解决方案3】:

    您可以使用DateTime.TryParse 将日期解析为DateTime 变量,您可以对变量使用AddMonths(-1) 方法。

    更新: VB6 中的DateAdd function

    【讨论】:

    • TryParse 不是 vb.net 的东西吗?
    • 抱歉,这确实是 .NET 而不是 VB6。
    • 哦,不好意思没看到它的VB6……不过原理应该是一样的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多