convert string to specific datetime format?

前端 未结 7 695
孤城傲影
孤城傲影 2020-12-24 11:21

String

\"2011-05-19 10:30:14\"

To

Thu May 19 10:30:14 UTC 2011

How can I convert specific string to this

相关标签:
7条回答
  • 2020-12-24 11:56

    "2011-05-19 10:30:14".to_time

    0 讨论(0)
  • 2020-12-24 12:00

    Use DATE_FORMAT from Date Conversions:

    In your initializer:

    DateTime::DATE_FORMATS[:my_date_format] = "%a %b %d %H:%M:%S %Z %Y"
    

    In your view:

    date = DateTime.parse("2011-05-19 10:30:14")
    date.to_formatted_s(:my_date_format)
    date.to_s(:my_date_format) 
    
    0 讨论(0)
  • 2020-12-24 12:04

    This another helpful code:

    "2011-05-19 10:30:14".to_datetime.strftime('%a %b %d %H:%M:%S %Z %Y')
    
    0 讨论(0)
  • 2020-12-24 12:05

    More formats:

     require 'date'
    
     date = "01/07/2016 09:17AM"
     DateTime.parse(date).strftime("%A, %b %d")
     #=> Friday, Jul 01
    
     DateTime.parse(date).strftime("%m/%d/%Y")
     #=> 07/01/2016
    
     DateTime.parse(date).strftime("%m-%e-%y %H:%M")
     #=> 07- 1-16 09:17
    
     DateTime.parse(date).strftime("%b %e")
     #=> Jul  1
    
     DateTime.parse(date).strftime("%l:%M %p")
     #=>  9:17 AM
    
     DateTime.parse(date).strftime("%B %Y")
     #=> July 2016
     DateTime.parse(date).strftime("%b %d, %Y")
     #=> Jul 01, 2016
     DateTime.parse(date).strftime("%a, %e %b %Y %H:%M:%S %z")
     #=> Fri,  1 Jul 2016 09:17:00 +0200
     DateTime.parse(date).strftime("%Y-%m-%dT%l:%M:%S%z")
     #=> 2016-07-01T 9:17:00+0200
     DateTime.parse(date).strftime("%I:%M:%S %p")
     #=> 09:17:00 AM
     DateTime.parse(date).strftime("%H:%M:%S")
     #=> 09:17:00
     DateTime.parse(date).strftime("%e %b %Y %H:%M:%S%p")
     #=>  1 Jul 2016 09:17:00AM
     DateTime.parse(date).strftime("%d.%m.%y")
     #=> 01.07.16
     DateTime.parse(date).strftime("%A, %d %b %Y %l:%M %p")
     #=> Friday, 01 Jul 2016  9:17 AM
    
    0 讨论(0)
  • 2020-12-24 12:14

    No need to apply anything. Just add this code at the end of variable to which date is assigned. For example

       @todaydate = "2011-05-19 10:30:14"
       @todaytime.to_time.strftime('%a %b %d %H:%M:%S %Z %Y')
    

    You will get proper format as you like. You can check this at Rails Console

    Loading development environment (Rails 3.0.4)
    ruby-1.9.2-p136 :001 > todaytime = "2011-05-19 10:30:14"
     => "2011-05-19 10:30:14" 
    ruby-1.9.2-p136 :002 > todaytime
     => "2011-05-19 10:30:14" 
    ruby-1.9.2-p136 :003 > todaytime.to_time
     => 2011-05-19 10:30:14 UTC
    ruby-1.9.2-p136 :008 > todaytime.to_time.strftime('%a %b %d %H:%M:%S %Z %Y')
     => "Thu May 19 10:30:14 UTC 2011"
    

    Try 'date_format' gem to show date in different format.

    0 讨论(0)
  • 2020-12-24 12:20
      <%= string_to_datetime("2011-05-19 10:30:14") %>
    
      def string_to_datetime(string,format="%Y-%m-%d %H:%M:%S")
        DateTime.strptime(string, format).to_time unless string.blank?
      end
    
    0 讨论(0)
提交回复
热议问题