<% if schedule.date_scheduled.strftime(''%I:%M %p'') == ''12:00 AM'' %> <td class="leftAlign">TBA</td> <% else %> <td class="leftAlign"><%=h schedule.date_scheduled.strftime(''%I:%M %p'') %></td> <% end %> Works fine - datetime formats that are say "2009-06-30 17:30:00" will show up as: => 05:30 PM But if I change this to a 12-hour clock without the leading 0 using schedule.date_scheduled.strftime(''%l:%M %p'') => .. nothing.. If I''m not using the correct formatting string for a 12-hour clock without the leading 0, which is the correct output? Thanks. -- Posted via http://www.ruby-forum.com/.
2009/7/11 Älphä Blüë <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>:> > <% if schedule.date_scheduled.strftime(''%I:%M %p'') == ''12:00 AM'' %> > <td class="leftAlign">TBA</td> > <% else %> > <td class="leftAlign"><%=h schedule.date_scheduled.strftime(''%I:%M > %p'') %></td> > <% end %> > > Works fine - datetime formats that are say "2009-06-30 17:30:00" will > show up as: > => 05:30 PM > > But if I change this to a 12-hour clock without the leading 0 usingI don''t understand, when you say ''you change this to a 12-hour clock'' what is it that you have changed? The value in schedule.date_scheduled or what? Colin> > schedule.date_scheduled.strftime(''%l:%M %p'') > => > > .. nothing.. > > If I''m not using the correct formatting string for a 12-hour clock > without the leading 0, which is the correct output? > > Thanks. > -- > Posted via http://www.ruby-forum.com/. > > > >
schedule.date_scheduled.strftime(''%I:%M %p'') => 05:30 PM schedule.date_scheduled.strftime(''%l:%M %p'') => nothing... .. it should equal schedule.date_scheduled.strftime(''%l:%M %p'') => 5:30 PM I''m trying to remove the leading 0 off the hours slot... -- Posted via http://www.ruby-forum.com/.
2009/7/11 Älphä Blüë <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>:> > schedule.date_scheduled.strftime(''%I:%M %p'') > => 05:30 PM > > schedule.date_scheduled.strftime(''%l:%M %p'') > => nothing... >I thought I must be going blind as in gmail in FF the two lines above look identical, it was only when I copied and pasted into my editor in order to do a compare that I realised the first on is %<upper case i> and the second is %<lower case L>. I don''t see lower case L in the docs for strftime, which may explain the problem. This link has some possibly helpful suggestions for removing the leading zero: http://snippets.dzone.com/posts/show/2952 Colin> .. it should equal > > schedule.date_scheduled.strftime(''%l:%M %p'') > => 5:30 PM > > I''m trying to remove the leading 0 off the hours slot... > > -- > Posted via http://www.ruby-forum.com/. > > > >
I had been looking at: http://www.nullislove.com/2007/05/16/time-for-strftime/ If you scroll down towards the bottom, there''s a very large table that contains the formats. I was trying to follow the one for 12-hour without the leading number. I guess this means I have to use gsub.. -- Posted via http://www.ruby-forum.com/.
2009/7/11 Älphä Blüë <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>:> > I had been looking at: > > http://www.nullislove.com/2007/05/16/time-for-strftime/Thanks for that, a very useful link.> > If you scroll down towards the bottom, there''s a very large table that > contains the formats. I was trying to follow the one for 12-hour > without the leading number. > > I guess this means I have to use gsub..Interestingly, in irb: irb(main):006:0> Time.now.strftime("%I:%M %p") # upper case i => "03:39 PM" irb(main):007:0> Time.now.strftime("%l:%M %p") # lower case l => " 3:39 PM" What class is your schedule.date_scheduled? (use schedule.date_scheduled.class to find out) Colin
Am 11.07.2009 um 16:43 schrieb Colin Law:> Interestingly, in irb: > irb(main):006:0> Time.now.strftime("%I:%M %p") # upper case i > => "03:39 PM" > irb(main):007:0> Time.now.strftime("%l:%M %p") # lower case l > => " 3:39 PM"Could it be that something on the way to the browser chokes on the leading whitespace? Maybe try the code in script/console, and continue adding stuff around your strftime(...) until you find the culprit. Regards, Felix
well the strange thing is I tried: schedule.date_scheduled.strftime(''%I:%M %p'').gsub(/0?(\d):/,''\1:'') .. and it doesn''t remove the leading 0.. however.. if I go to the rails console parse => "08:00 AM" parse.gsub(/0?(\d):/,''\1:'') => "8:00 AM" .. very strange and tested in all browsers so same behavior -- Posted via http://www.ruby-forum.com/.
I''m using Rails 2.3.2 I''m using Ruby 1.8.6 One click installer for windows -- Posted via http://www.ruby-forum.com/.
NM.. This actually does work: schedule.date_scheduled.strftime(''%I:%M %p'').gsub(/0?(\d):/,''\1:'') I had to place it in another place because I forgot I was looking for a conditional. The %l does not work and it may just be ruby version related. I''m sure that 1.9 came out with new time features and maybe that''s part of them.. -- Posted via http://www.ruby-forum.com/.
2009/7/11 Älphä Blüë <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>:> > NM.. > > This actually does work: > > schedule.date_scheduled.strftime(''%I:%M %p'').gsub(/0?(\d):/,''\1:'') > > I had to place it in another place because I forgot I was looking for a > conditional. The %l does not work and it may just be ruby version > related. I''m sure that 1.9 came out with new time features and maybe > that''s part of them..It is ok for me on ruby 1.8.7, rails 2.3.2. Colin
On Sat, Jul 11, 2009 at 8:17 AM, Älphä Blüë<rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> I had to place it in another place because I forgot I was looking for a > conditional. The %l does not work and it may just be ruby version > related. I''m sure that 1.9 came out with new time features and maybe > that''s part of them..ripple:~ hassan$ ruby -v ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0] ripple:~ hassan$ irb irb(main):001:0> Time.now.strftime("%I:%M %p") # u/c I as in India => "08:46 AM" irb(main):002:0> Time.now.strftime("%l:%M %p") # l/c l as in Lima => " 8:46 AM" irb(main):003:0> FWIW, -- Hassan Schroeder ------------------------ hassan.schroeder-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org twitter: @hassan
I already solved this using gsub. But, just to follow-through with this - I''m not lying when I did my checks: irb(main):001:0> Time.now.strftime("%I:%M %p") => "12:57 PM" irb(main):002:0> Time.now.strftime("%l:%M %p") => "" irb(main):003:0> l = lower case (l)ima (l)ime (l)azy (l)ucky.. Again, it does not compute with my IRB and I''m using: ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32] -- Posted via http://www.ruby-forum.com/.