-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdate_time_countdowns.mrc
More file actions
118 lines (116 loc) · 7.14 KB
/
date_time_countdowns.mrc
File metadata and controls
118 lines (116 loc) · 7.14 KB
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
; Date, Time & Countdowns v1.0 by bbqnut
; ##### SETTINGS #####
; enter your timezone here (PST,CST,EST ETC)
alias rcdtz return PST
; enter your birthday & anniversary here in the format of MONTHNAME 2_DIGIT_DAY 4_DIGIT_YEAR IE: January 01 1955
alias bday.cd.date return January 01 2024
alias anniv.cd.date return December 01 2024
; enter your city here IE: Portland
alias rcd.city return MyCity
; enter your state here IE: Oregon
alias rcd.state return MyState
; enter your country here IE: USA
alias rcd.country return MyCountry
; ##### END SETTINGS #####
; ##### Aliases #####
alias rcdmonths return january,february,march,april,may,june,july,august,september,october,november,december
alias rcddays return 01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
alias rcdhrs return 00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23
alias rcdminsec return 00,01,02,03,04,05,06,07,08,09,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,55,56,57,58,59
alias rcdpcdf return Proper Countdown Format is '.cd MonthNAME DayDigits(2) YearDigits(4) hours:minutes:seconds' (24hr Clock) Example: .cd July 04 2100 21:30:15 (hours:minutes:seconds can be omitted)
alias rcdpcdf2 return Proper Countdown Format is '!cd MonthNAME DayDigits(2) YearDigits(4) hours:minutes:seconds' (24hr Clock) Example: .cd July 04 2100 21:30:15 (hours:minutes:seconds can be omitted)
alias time.show return Current Time In $rcd.city $rcd.state $rcd.country Is: $time.1 ( $+ $gmt($ctime, hh:nn:ss TT) GMT) $chr(91) $+ Daylight Savings: $iif($daylight == 0,No,Yes) $+ $chr(93)
alias date.show return Current Date In $rcd.city $rcd.state $rcd.country Is: $date.1
alias date.time.show return Current Date & Time In $rcd.city $rcd.state $rcd.country Is: $date.1 $chr(47) $time.1 ( $+ $gmt($ctime, hh:nn:ss TT) GMT) $chr(91) $+ Daylight Savings: $iif($daylight == 0,No,Yes) $+ $chr(93)
alias date.1 return $day $date(mmmm) $date(dd) $date(yyyy)
alias time.1 return $time(hh:nn:ss TT) $rcdtz
alias xmas.cd.daycheck return 26,27,28,29,30,31
alias xmas.cd.yearcheck {
if ($date(mm) == 12) && ($date(dd) isin $xmas.cd.daycheck) return $calc($date(yyyy) + 1)
else return $right($adate,4)
}
alias xmas.cd {
var %xcda = December 25 $xmas.cd.yearcheck 00:00:00
return $duration($calc($ctime(%xcda) - $ctime($date))) Until Christmas $replace(%xcda,$+(00,$chr(58),00,$chr(58),00),) $+($chr(91),$rcdtz,$chr(93))
}
alias ny.cd {
var %nycda = January 01 $calc($date(yyyy) + 1) 00:00:00
return $duration($calc($ctime(%nycda) - $ctime($date))) Until New Years Day $replace(%nycda,$+(00,$chr(58),00,$chr(58),00),) $+($chr(91),$rcdtz,$chr(93))
}
alias bday.cd {
var %bdcda = $bday.cd.date 00:00:00
var %bdcdb = $calc($date(yyyy) - $gettok($bday.cd.date,3,32))
var %bdcdmonth = $right($left($date($ctime(%bdcda)),5),2)
var %bdcdday = $left($date($ctime(%bdcda)),2)
if (%bdcdmonth > $date(mm)) var %bdcdyear = $date(yyyy)
if (%bdcdmonth == $date(mm)) && (%bdcdday > $date(dd)) var %bdcdyear = $date(yyyy)
if (%bdcdmonth == $date(mm)) && (%bdcdday < $date(dd)) var %bdcdyear = $calc($date(yyyy) + 1)
if (%bdcdmonth == $date(mm)) && (%bdcdday == $date(dd)) var %bdcdyear = $calc($date(yyyy) + 1)
var %bdcdc = $gettok(%bdcda,1,32) $gettok(%bdcda,2,32) %bdcdyear $gettok(%bdcda,4,32)
var %bdcdsuf1 = 1
var %bdcdsuf2 = 2
var %bdcdsuf3 = 3
var %bdcdsuf4 = 4,5,6,7,8,9,0
var %bdcdsufa = $right(%bdcdb,1)
if (%bdcdsufa isin %bdcdsuf1) var %bdcdsufz = st
if (%bdcdsufa isin %bdcdsuf2) var %bdcdsufz = nd
if (%bdcdsufa isin %bdcdsuf3) var %bdcdsufz = rd
if (%bdcdsufa isin %bdcdsuf4) var %bdcdsufz = th
return $duration($calc($ctime(%bdcdc) - $ctime($date))) Until $me $+ 's %bdcdb $+ %bdcdsufz Birthday $replace(%bdcdc,$+(00,$chr(58),00,$chr(58),00),) $+($chr(91),$rcdtz,$chr(93))
}
alias anniv.cd {
var %annivcda = $anniv.cd.date 00:00:00
var %annivcdb = $calc($date(yyyy) - $gettok($anniv.cd.date,3,32))
var %annivcdmonth = $right($left($date($ctime(%annivcda)),5),2)
var %annivcdday = $left($date($ctime(%annivcda)),2)
if (%annivcdmonth > $date(mm)) var %annivcdyear = $date(yyyy)
if (%annivcdmonth == $date(mm)) && (%annivcdday > $date(dd)) var %annivcdyear = $date(yyyy)
if (%annivcdmonth == $date(mm)) && (%annivcdday < $date(dd)) var %annivcdyear = $calc($date(yyyy) + 1)
if (%annivcdmonth == $date(mm)) && (%annivcdday == $date(dd)) var %annivcdyear = $calc($date(yyyy) + 1)
var %annivcdc = $gettok(%annivcda,1,32) $gettok(%annivcda,2,32) %annivcdyear $gettok(%annivcda,4,32)
var %annivcdsuf1 = 1
var %annivcdsuf2 = 2
var %annivcdsuf3 = 3
var %annivcdsuf4 = 4,5,6,7,8,9,0
var %annivcdsufa = $right(%annivcdb,1)
if (%annivcdsufa isin %annivcdsuf1) var %annivcdsufz = st
if (%annivcdsufa isin %annivcdsuf2) var %annivcdsufz = nd
if (%annivcdsufa isin %annivcdsuf3) var %annivcdsufz = rd
if (%annivcdsufa isin %annivcdsuf4) var %annivcdsufz = th
return $duration($calc($ctime(%annivcdc) - $ctime($date))) Until $me $+ 's %annivcdb $+ %annivcdsufz Anniversary $replace(%annivcdc,$+(00,$chr(58),00,$chr(58),00),) $+($chr(91),$rcdtz,$chr(93))
}
; ##### Events #####
on *:text:*:#:{
if ($1- == .christmas) || ($1- == !christmas) || ($1- == .xmas) || ($1- == !xmas) msg # $xmas.cd
if ($1- == .newyear) || ($1- == !newyear) msg # $ny.cd
if ($1- == .birthday) || ($1- == !birthday) msg # $bday.cd
if ($1- == .anniversary) || ($1- == !anniversary) msg # $anniv.cd
if ($1- == .time) || ($1- == !time) msg # $time.show
if ($1- == .date) || ($1- == !date) msg # $date.show
if ($1- == .datetime) || ($1- == !datetime) || ($1- == .timedate) || ($1- == !timedate) msg # $date.time.show
if ($1 == .cd) || ($1 == !cd) {
if ($2- == xmas) || ($2- == christmas) { msg # $xmas.cd | halt }
if ($2- == newyear) || ($2- == newyears) { msg # $ny.cd | halt }
if ($2- == birthday) { msg # $bday.cd | halt }
if ($2- == anniversary) { msg # $anniv.cd | halt }
if (!$istok($rcdmonths,$2,44)) || (!$istok($rcddays,$3,44)) {
msg # $rcdpcdf
halt
}
if ($4 !isnum) || ($len($4) > 4) { msg # $rcdpcdf | halt }
if ($len($4) < 4) { msg # $rcdpcdf | halt }
if ($5 == $null) { set %cdcda5 00:00:00 }
if ($5 != $null) { set %cdcda5 $5 }
if ($gettok(%cdcda5,1,58) !isin $rcdhrs) || ($gettok(%cdcda5,2,58) !isin $rcdminsec) || ($gettok(%cdcda5,3,58) !isin $rcdminsec) {
msg # $rcdpcdf
halt
}
var %cdcda = $2 $3 $4 %cdcda5
var %cdcdb = $duration($calc($ctime(%cdcda) - $ctime($date)))
if ($left($gettok(%cdcdb,1,32),-3) == 52) || ($left($gettok(%cdcdb,1,32),-3) < 103) var %cdcdy = yr
if ($left($gettok(%cdcdb,1,32),-3) > 103) var %cdcdy = yrs
if ($left($gettok(%cdcdb,1,32),-3) > 51) var %cdcdb = $replace(%cdcdb,$gettok(%cdcdb,1-2,32),$gettok($calc($left($gettok(%cdcdb,1,32),-3) / 52),1,46) $+ %cdcdy $calc($left($gettok(%cdcdb,1,32),-3) % 52) $+ wks)
if ($+($chr(32),0wks,$chr(32)) isin %cdcdb) var %cdcdb = $replace(%cdcdb,$+($chr(32),0wks,$chr(32)),$chr(32))
msg # %cdcdb Until $replace(%cdcda,$+(00,$chr(58),00,$chr(58),00),)
}
}