在VBSCRIPT中获取当前和下个月的第一天

时间:2013-12-02 14:34:22

标签: vbscript

我可以使用SQL Server 2008找到当前和下个月的第一天 Thare是我的代码:

   declare @date_begin date= DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0)
   declare @date_end date= CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(DATEADD(mm,1,@date_begin))-1),DATEADD(mm,1,@date_begin)),101)
   select @date_begin, @date_end

它归还给我:

    2013-12-01  2014-01-01

但现在我需要使用VBScript获得当前和下个月的第一天。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

你可以在VBScript中使用DateSerial做同样的事情。

来自Remarks Section - DateSerial Function

  

指定日期,例如1991年12月31日的数字范围   每个DateSerial参数应该在单元的可接受范围内;   也就是说,1-31天,1-12个月。

     

但是,你也可以   使用任何数字表达式指定每个参数的相对日期   表示之前或之后的某些天,月或年   某个约会。

因此,您只需指定年,月和日值。

Function CustomDate(dtm)
    Dim y, m, d, h, n, s
        y = Year(dtm)
        m = Right("0" & Month(dtm), 2)
        d = Right("0" & Day(dtm), 2)
        h = Right("0" & Hour(dtm), 2)
        n = Right("0" & Minute(dtm), 2)
        s = Right("0" & Second(dtm), 2)
    CustomDate = y & "-" & m & "-" & d
    If h + n + s > 0 Then
        CustomDate = CustomDate & " "
        CustomDate = CustomDate & h & ":" & n & ":" & s
    End If
End Function

WScript.Echo "1st day of current month", CustomDate(DateSerial(Year(Date), Month(Date), 1))
WScript.Echo "1st day of next month", CustomDate(DateSerial(Year(Date), Month(Date) + 1, 1))