@@ -171,40 +171,6 @@ class << self
171171 #'YEKT' => '+0500', # Yekaterinburg Time UTC+05:00
172172 } . freeze
173173
174- # Convert to second
175- # @param [String] argv1 Digit and a unit of time
176- # @return [Integer] n: seconds
177- # 0: 0 or invalid unit of time
178- # @example Get the value of seconds
179- # to_second('1d') #=> 86400
180- # to_second('2h') #=> 7200
181- def to_second ( argv1 )
182- return 0 unless argv1 . is_a? ( ::String )
183-
184- getseconds = 0
185- unitoftime = TimeUnit . keys . join
186- mathconsts = MathematicalConstant . keys . join
187-
188- if cr = argv1 . match ( /\A (\d +|\d +[.]\d +)([#{ unitoftime } ])?\z / )
189- # 1d, 1.5w
190- n = cr [ 1 ] . to_f
191- u = cr [ 2 ] || 'd'
192- getseconds = n * TimeUnit [ u ] . to_f
193-
194- elsif cr = argv1 . match ( /\A (\d +|\d +[.]\d +)?([#{ mathconsts } ])([#{ unitoftime } ])?\z / )
195- # 1pd, 1.5pw
196- n = cr [ 1 ] . to_f || 1
197- n = 1 if n . to_i == 0
198- m = MathematicalConstant [ cr [ 2 ] ] . to_f
199- u = cr [ 3 ] || 'd'
200- getseconds = n * m * TimeUnit [ u ] . to_f
201- else
202- getseconds = 0
203- end
204-
205- return getseconds
206- end
207-
208174 # Month name list
209175 # @param [Boolean] argv1 Require full name or not
210176 # @return [Array, String] Month name list or month name
@@ -216,17 +182,6 @@ def monthname(argv1 = false)
216182 return MonthName [ value ]
217183 end
218184
219- # List of day of week
220- # @param [Boolean] argv1 Require full name
221- # @return [Array, String] List of day of week or day of week
222- # @example Get the names of each day of week
223- # dayofweek() #=> [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ]
224- # dayofweek(true) #=> [ 'Sunday', 'Monday', 'Tuesday', ... ]
225- def dayofweek ( argv1 = false )
226- value = argv1 ? :full : :abbr
227- return DayOfWeek [ value ]
228- end
229-
230185 # Parse date string; strptime() wrapper
231186 # @param [String] argv1 Date string
232187 # @return [String] Converted date string
@@ -258,7 +213,7 @@ def parse(argv1)
258213 # Parse each piece of time
259214 if p =~ /\A [A-Z][a-z]{2,}[,]?\z /
260215 # Day of week or Day of week; Thu, Apr, ...
261- p . gsub! ( /, \z / , '' ) if p . end_with? ( ',' ) # "Thu," => "Thu"
216+ p [ - 1 , 1 ] = '' if p . end_with? ( ',' ) # "Thu," => "Thu"
262217 p = p [ 0 , 3 ] if p . size > 3
263218
264219 if DayOfWeek [ :abbr ] . include? ( p )
@@ -301,7 +256,7 @@ def parse(argv1)
301256 # Time: 1:4 => 01:04:00
302257 v [ :T ] = sprintf ( '%02d:%02d:00' , cr [ 1 ] . to_i , cr [ 2 ] . to_i )
303258
304- elsif p =~ / \A [APap][Mm] \z /
259+ elsif p . downcase == 'am' || p . downcase == 'pm'
305260 # AM or PM
306261 afternoon1 = 1
307262 else
0 commit comments