Hi all,
anybody an idea how to transform the date out of this string
Not After : Apr 3 11:13:11 2008 GMT
to
2008-4-3
Help is very apreciated!!
Thx.
Henry
Hi all,
anybody an idea how to transform the date out of this string
Not After : Apr 3 11:13:11 2008 GMT
to
2008-4-3
Help is very apreciated!!
Thx.
Henry
Heinrich P. wrote:
anybody an idea how to transform the date out of this string
Not After : Apr 3 11:13:11 2008 GMTto
2008-4-3
Time.parse(“Not After : Apr 3 11:13:11 2008 GMT”) will give you a Time
object. You can get the desired string from that quite easily (using
strftime
for example, or just using Time#day, Time#month and Time#year directly).
HTH,
Sebastian
I would create a time object and then format it how you like.
Time.parse(string).strftime(format_string)
Look up the docs for Time#strftime to determine the format string.
sorry to post what might be a moronic question, but i although
Time.parse shows up in the online core docs, Time.parse isn’t a method
on any machine of mine.
e.g.
irb(main):001:0> Time.methods.sort
=> [:“!”, :“!=”, :“!~”, :<, :<=, :<=>, :==, :===, :=~, :>, :>=,
:id, :send, :_load, :allocate, :ancestors, :at, :autoload,
:autoload?, :class, :class_eval, :class_exec,
:class_variable_defined?, :class_variable_get, :class_variable_set,
:class_variables, :clone, :const_defined?, :const_get, :const_missing,
:const_set, :constants, :define_singleton_method, :display, :dup,
:enum_for, :eql?, :equal?, :extend, :freeze, :frozen?, :gem, :gm,
:hash, :include?, :included_modules, :inspect, :instance_eval,
:instance_exec, :instance_method, :instance_methods, :instance_of?,
:instance_variable_defined?, :instance_variable_get,
:instance_variable_set, :instance_variables, :is_a?, :kind_of?,
:local, :method, :method_defined?, :methods, :mktime, :module_eval,
:module_exec, :name, :new, :nil?, :now, :object_id,
:private_class_method, :private_instance_methods,
:private_method_defined?, :private_methods,
:protected_instance_methods, :protected_method_defined?,
:protected_methods, :public_class_method, :public_instance_method,
:public_instance_methods, :public_method, :public_method_defined?,
:public_methods, :public_send, :remove_class_variable, :respond_to?,
:send, :singleton_methods, :superclass, :taint, :tainted?, :tap,
:to_enum, :to_s, :untaint, :utc]
(from an ubuntu box running 1.9.0–but i don’t get a parse on 1.8.6 on
ubuntu or mac)
in fact, whytheluckstiff’s online ruby terminal at hobix.com does
have Time#parse. and you all are using it. any ideas? where did i drop
the ball?
thanks in advance.
louis wrote:
sorry to post what might be a moronic question, but i although
Time.parse shows up in the online core docs, Time.parse isn’t a method
on any machine of mine.
Try requiring time first.
require ‘time’
HTH,
Sebastian
Daniel F. wrote:
I would create a time object and then format it how you like.
Time.parse(string).strftime(format_string)
Look up the docs for Time#strftime to determine the format string.
Guys - thanks a lot.
It works just great!!
Here the snipped:
ValidDate = File.open(“someFile.txt”).readlines.to_s.grep(/Not After/)
#puts 'Certificate is valid ’ + ValidDate.to_s
CertValidDate = Time.parse(ValidDate.to_s).strftime("%Y-%d-%m")
#puts CertValidDate
Now I can do my comparison with actualDate and CertValidDAte and I am
able to create an alarm.
Thanks!!!
bye
Henry
that did help a lot! thanks! now i have to find/read more on what’s in
the core that needs ‘requiring’. thanks again!
Henry,
should do :
ValidDate = File.readlines('someFile.txt').to_s.grep(/Not After/)
instead of :
ValidDate = File.open("someFile.txt").readlines.to_s.grep(/Not
After/)
Sebastian corrected me once… File.open without a block will leave the
file
pointer open…
M
Mike McKinney wrote:
should do :
ValidDate = File.readlines('someFile.txt').to_s.grep(/Not After/)
Yes, and leave out the to_s, too. If you want a string use File.read
instead
of File.readlines. In this case you can use both, though, since String
and
Array both have a grep method. But using readlines to get an array and
then
converting it to string via to_s, doesn’t make sense.
HTH,
Sebastian
Sebastian H. wrote:
Mike McKinney wrote:
should do :
� � ValidDate = File.readlines(‘someFile.txt’).to_s.grep(/Not After/)
Yes, and leave out the to_s, too. If you want a string use File.read
instead
of File.readlines. In this case you can use both, though, since String
and
Array both have a grep method. But using readlines to get an array and
then
converting it to string via to_s, doesn’t make sense.HTH,
Sebastian
Thanks guys,
I did include those changes in my code.
bye
Henry
Heinrich P. wrote:
Sebastian H. wrote:
Mike McKinney wrote:
should do :
� � ValidDate = File.readlines(‘someFile.txt’).to_s.grep(/Not After/)
Yes, and leave out the to_s, too. If you want a string use File.read
instead
of File.readlines. In this case you can use both, though, since String
and
Array both have a grep method. But using readlines to get an array and
then
converting it to string via to_s, doesn’t make sense.HTH,
SebastianThanks guys,
I did include those changes in my code.
bye
Henry
Hi all,
one more thing. I saw something in this forum about ‘how to calculate
time difference’ , but I can’t find it anymore.
I want to calculate the time difference (in days):
DateDiff = CertValidDate - actualDate
but I get this error message: undefined method `-’ for
“2008-09-10”:String (NoMethodError)
bye
Henry
On Sun, 13 Jan 2008 14:37:35 -0500, louis wrote:
that did help a lot! thanks! now i have to find/read more on what’s in
the core that needs ‘requiring’. thanks again!
I’ve noticed that. I think it’s a bug on ruby-docs.org that somebody
needs to fix.
–Ken
na, you are trying to execute the “-” method on a string (which doesn’t
exist)
if you have two dates, you can execute the “-” method just fine (result
is a
Rational)
try this:
require ‘date’
date_one = Date.parse(‘2008-01-01’)
date_two = Date.parse(‘2008-02-02’)
puts “date_one = #{date_one}”
puts “date_two = #{date_two}”
diff = date_two - date_one
puts “date_two - date_one = #{diff} (class:#{diff.class})”
puts “date_one + diff.to_i = #{date_one + diff.to_i}”
output:
date_one = 2008-01-01
date_two = 2008-02-02
date_two - date_one = 32 (class:Rational)
date_one + diff.to_i = 2008-02-02
M
Heinrich P. wrote:
DateDiff = CertValidDate - actualDate
but I get this error message: Â undefined method `-’ for
“2008-09-10”:String (NoMethodError)
You need a Date object, not a String. Like this:
Date.parse(“2008-09-10”) - Date.today
HTH,
Sebastian
Mike McKinney wrote:
na, you are trying to execute the “-” method on a string (which doesn’t
exist)
No, he’s not. You’re in the wrong subthread.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs