[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

regualr expression (need help

Heinrich Piard

1/13/2008 5:04:00 PM

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
--
Posted via http://www.ruby-....

14 Answers

Sebastian Hungerecker

1/13/2008 5:28:00 PM

0

Heinrich Piard wrote:
> 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

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
--
Jabber: sepp2k@jabber.org
ICQ: 205544826

Daniel Finnie

1/13/2008 5:33:00 PM

0

[Note: parts of this message were removed to make it a legal post.]

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.

On Jan 13, 2008 12:04 PM, Heinrich Piard <linux@piard.de> wrote:

> 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
> --
> Posted via http://www.ruby-....
>
>

Heinrich Piard

1/13/2008 5:47:00 PM

0

Daniel Finnie 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
--
Posted via http://www.ruby-....

louis

1/13/2008 7:19:00 PM

0

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.



On Jan 13, 2008 12:47 PM, Heinrich Piard <linux@piard.de> wrote:
> Daniel Finnie 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
> --
> Posted via http://www.ruby-....
>
>

Sebastian Hungerecker

1/13/2008 7:28:00 PM

0

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
--
NP: Arcturus - Alone
Jabber: sepp2k@jabber.org
ICQ: 205544826

louis

1/13/2008 7:38:00 PM

0

that did help a lot! thanks! now i have to find/read more on what's in
the core that needs 'requiring'. thanks again!

> > 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
> --

mike.s.mckinney

1/13/2008 7:39:00 PM

0

[Note: parts of this message were removed to make it a legal post.]

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

On Jan 13, 2008 12:47 PM, Heinrich Piard <linux@piard.de> wrote:

> Daniel Finnie 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
> --
> Posted via http://www.ruby-....
>
>

Sebastian Hungerecker

1/13/2008 7:45:00 PM

0

Mike McKinney wrote:
> should do :
>
> =A0 =A0 ValidDate =3D 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 instea=
d=20
of File.readlines. In this case you can use both, though, since String and=
=20
Array both have a grep method. But using readlines to get an array and then=
=20
converting it to string via to_s, doesn't make sense.

HTH,
Sebastian
=2D-=20
NP: Anathema - Cerulean Twilight
Jabber: sepp2k@jabber.org
ICQ: 205544826

Heinrich Piard

1/13/2008 9:44:00 PM

0

Sebastian Hungerecker 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
--
Posted via http://www.ruby-....

Heinrich Piard

1/13/2008 9:59:00 PM

0

Heinrich Piard wrote:
> Sebastian Hungerecker 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

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

--
Posted via http://www.ruby-....