Class: Knj::Datestamp
Class Method Summary collapse
- .dbstr(time = nil) ⇒ Object
- .from_dbstr(date_string) ⇒ Object
- .in(timestr) ⇒ Object
- .is_nullstamp?(datestamp) ⇒ Boolean
- .out(time = nil, args = {}) ⇒ Object
Class Method Details
.dbstr(time = nil) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/knj/datestamp.rb', line 12 def self.dbstr(time = nil) if !time time = Time.new end if (Float(time) rescue false) time = Time.at(time.to_i) elsif time.is_a?(String) begin time = Time.local(*ParseDate.parsedate(time)) rescue => e raise sprintf("Could not parse date: %s", time.to_s) end else raise "Could not figure out given argument: #{time.class.name}" end return "%04d" % time.year.to_s + "-" + "%02d" % time.month.to_s + "-" + "%02d" % time.day.to_s + " " + "%02d" % time.hour.to_s + ":" + "%02d" % time.min.to_s + ":" + "%02d" % time.sec.to_s end |
.from_dbstr(date_string) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/knj/datestamp.rb', line 32 def self.from_dbstr(date_string) if Knj::Datestamp.is_nullstamp?(date_string) return 0 end return Time.local(*ParseDate.parsedate(date_string)) end |
.in(timestr) ⇒ Object
2 3 4 5 6 7 8 9 10 |
# File 'lib/knj/datestamp.rb', line 2 def self.in(time = Time.new) if (Float(time) rescue false) time = Time.at(time.to_i) elsif time.is_a?(String) time = Time.local(*ParseDate.parsedate(time)) end return time end |
.is_nullstamp?(datestamp) ⇒ Boolean
87 88 89 90 |
# File 'lib/knj/datestamp.rb', line 87 def self.is_nullstamp?(datestamp) return true if datestamp.is_a?(String) and datestamp == "0000-00-00 00:00:00" return false end |
.out(time = nil, args = {}) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/knj/datestamp.rb', line 40 def self.out(time = nil, args = {}) Knj::ArrayExt.hash_sym(args) time = Time.new if !time if (Float(time) rescue false) time = Time.at(time.to_i) elsif time.is_a?(String) time = Time.at(Php4r.strtotime(time)) end str = "" if !args.key?(:date) or args[:date] == true str << "%02d" % time.day.to_s + "/" + "%02d" % time.month.to_s + " " + "%04d" % time.year.to_s end if !args.key?(:time) or args[:time] == true str << " " + "%02d" % time.hour.to_s + ":" + "%02d" % time.min.to_s end return str end |