forked from DonovanChan/fmfunctions
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDateRangeFromLabel.calc
54 lines (47 loc) · 1.4 KB
/
DateRangeFromLabel.calc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Let ([
name = TrimAll ( labelString ; 1 ; 3 ) ;
dte = Get ( CurrentDate ) ;
dteWeekBegin = dte - ( DayOfWeek ( dte ) - 2 ) // starting Monday
] ;
Case (
name = "yesterday" ;
GetAsDate ( dte - 1 ) ;
name = "today" ;
GetAsDate ( dte ) ;
name = "tomorrow" ;
GetAsDate ( dte + 1 ) ;
name = "lastweek" ;
GetAsDate ( dteWeekBegin - 7 ) & "..." & dteWeekBegin ;
name = "thisweek" ;
dteWeekBegin & "..." & GetAsDate ( dteWeekBegin + 7 ) ;
name = "nextweek" ;
GetAsDate ( dteWeekBegin + 7 ) & "..." &
GetAsDate ( dteWeekBegin + 14 ) ;
name = "lastmonth" ;
Month ( dte ) - 1 & "/*/" & Year ( dte ) ;
name = "thismonth" ;
Month ( dte ) & "/*/" & Year ( dte ) ;
name = "nextmonth" ;
Month ( dte ) + 1 & "/*/" & Year ( dte ) ;
name = "last7days" ;
GetAsDate ( dte - 7 ) & "..." & dte ;
name = "next7days" ;
dte & "..." & GetAsDate ( dte + 7 ) ;
name = "last30days" ;
dte & "..." & GetAsDate ( dte - 30 ) ;
name = "next30days" ;
dte & "..." & GetAsDate ( dte + 30 )
)
)
/* —————————————————————————————— //
NAME:
DateRangeFromLabel ( labelString )
PURPOSE:
Returns searchable date range based on label string.
Weeks start on Monday.
EXAMPLES:
Where today is 1/1/2011
DateRangeFromLabel ( "This Week" ) = "1/1/2011...1/7/2011"
HISTORY:
Created: 2011-Feb-16 16h08 PST — Donovan A. Chandler
*/