1
我有一个程序,验证时间戳,但现在它使用正则表达式来验证它们。我想知道的是,是否有更简单的方式来验证以下格式的时间戳:05/03/2016 05:34:54 AM
或PM
。更简单的方法来验证时间戳
该方案的方法是这样的:
class TimeStampFormatError < StandardError; end
def verify_timestamp(stamp)
begin
if !(stamp[/^\d{1,2}\/\d{1,2}\/\d{4} \d{1,2}:\d{1,2}:\d{1,2} [AP]M\z/])
puts 'Invalid format of timestamp example: 06/07/2016 5:30:23 AM'
raise TimeStampFormatError
else
stamp
end
rescue TimeStampFormatError
puts 'Invalid Timestamp format'
get_timestamp
end
end
def get_timestamp
print 'Enter timestamp: '
tm = gets.chomp
verify_timestamp(tm)
end
您可以使用[DateTime.strptime(HTTP://红宝石文档。 org/stdlib-2.3.1/libdoc/date/rdoc/DateTime.html#M000214)。如果使用'ArgumentError'失败,则输入的日期字符串与指定的格式不匹配。 – pah
请记住,使用这个正则表达式只会*验证格式*。它不检查时间戳(即2月31日)是否有效。 – dognose