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).
On Jan 22, 2006, at 5:09 PM, Mike S. wrote:
Rails mailing list
[email protected]
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
[email protected]
509-577-7732
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!
Hope this helps in the future, for now, use the strftime like Ezra
showed.
Cheers,
Bob S.
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.