Date.to_s trimming


#1

When I convert a datetime to a string, it prints out something like this

Jan 20 12:00:00 EST 2006

I want to trim off the last twelve characters, i.e.

:00 EST 2006

I tried to do it like so:

@date =
@meeting.date.to_s.chomp.chomp.chomp.chomp.chomp.chomp.chomp.chomp.chomp.chomp.chomp.chomp

but the chomps seem to do nothing. I’d love to use regex, but I don’t
know which method to use to remove text from a string, or to just sever
the end of it (I tried unshift).


#2

On Jan 22, 2006, at 5:09 PM, Mike S. wrote:


Rails mailing list
removed_email_address@domain.invalid
http://lists.rubyonrails.org/mailman/listinfo/rails

Mike-

Check out ri strftime in your shell it will show you a ton of

options for formatting times and dates. Here’s an example to do what
you want:

in irb:

Time.now.strftime("%b %d %I:%M")
=> “Jan 22 05:23”

Cheers-

-Ezra Z.
WebMaster
Yakima Herald-Republic Newspaper
removed_email_address@domain.invalid
509-577-7732


#3

The response below would be the right way to do it, but to clear some
things
up for you:

To get a substring:
“Jan 20 12:00:00 EST 2006”[0…11]

or

“Jan 20 12:00:00 EST 2006”[0…12] => Jan 20 12:00

And as a bonus, if you had used chop() instead of chomp(), your example
would have worked, but that would be real bad! :slight_smile:

Hope this helps in the future, for now, use the strftime like Ezra
showed.

Cheers,

Bob S.


#4

On 23-jan-2006, at 2:09, Mike S. wrote:

When I convert a datetime to a string, it prints out something like
this

Jan 20 12:00:00 EST 2006

I want to trim off the last twelve characters, i.e.

:00 EST 2006

In config/environment.rb
require_dependency ‘datetime_formats’

In lib/datetime_formats.rb
ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(
:my_date => ‘%b %d %I:%M’, # your format
:long_datetime => ‘%a %d-%m-%Y %H:%M’ # add more if needed
)

In your view:
<%= object.method.to_s(:my_date) %>


Regards, Charles.