Skip to content

Commit 34d3c2c

Browse files
committed
starting to support days of week
1 parent 04ed1d3 commit 34d3c2c

File tree

1 file changed

+25
-12
lines changed

1 file changed

+25
-12
lines changed

lib/jekyll-theme-cs50.rb

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require "cgi"
2+
require "date"
23
require "deep_merge"
34
require "digest/md5"
45
require "jekyll"
@@ -60,25 +61,37 @@ def self.strptime(s, now = nil)
6061
Time.strptime(s, "%Y-%m-%d %H:%M")
6162
rescue
6263

63-
# Try HH:MM:SS, relative to now
64+
# Try A HH:MM
6465
begin
65-
t = Time.strptime(s, "%H:%M:%S", now)
66+
t = Date.strptime(s, "%A %H:%M")
6667
rescue
6768

68-
# Try HH:MM, relative to now
69+
# Try a HH:MM
6970
begin
70-
t = Time.strptime(s, "%H:%M", now)
71+
t = Date.strptime(s, "%a %H:%M")
7172
rescue
72-
raise "Invalid datetime: #{s}"
73-
end
74-
end
7573

76-
# Because Time.strptime parses relative to now's date,
77-
# not now's date plus time, add one day if t is in past
78-
if t < now
79-
t += 24 * 60 * 60
74+
# Try u HH:MM
75+
begin
76+
t = Date.strptime(s, "%u %H:%M")
77+
rescue
78+
79+
# Try HH:MM, relative to now
80+
begin
81+
t = Time.strptime(s, "%H:%M", now)
82+
rescue
83+
raise "Invalid datetime: #{s}"
84+
end
85+
86+
# Because Time.strptime parses relative to now's date,
87+
# not now's date plus time, add one day if t is in past
88+
if t < now
89+
t += 24 * 60 * 60
90+
end
91+
t
92+
end
93+
end
8094
end
81-
t
8295
end
8396
end
8497
end

0 commit comments

Comments
 (0)