2013-12-02 4 views
1

я могу найти первый день текущего и следующего месяца с помощью SQL Server 2008 Thare мой код:Получить первый день текущего и следующего месяца в VBSCRIPT

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

Вы можете сделать то же самое, используя DateSerial в VBScript.

От Remarks Section - DateSerial Function:

Чтобы указать дату, например, 31 декабря 1991 года, диапазон номеров для каждого 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)) 
+0

Большое спасибо !!! – Oleh

+0

@Oleh Добро пожаловать! –

+0

Но у меня есть еще один вопрос. Мне нужна дата в формате 2013-12-01. Код возврата # 12/1/2013 #. Можете ли вы остановить меня? – Oleh

Смежные вопросы