Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 是否将字符串转换为特定的日期时间格式?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 是否将字符串转换为特定的日期时间格式?

Ruby on rails 是否将字符串转换为特定的日期时间格式?,ruby-on-rails,ruby,Ruby On Rails,Ruby,串 到 如何将特定字符串转换为此日期格式?“2011-05-19 10:30:14”。到时间 Thu May 19 10:30:14 UTC 2011 有关格式化日期的详细信息,请参阅。无需应用任何内容。只需在指定日期的变量末尾添加此代码。比如说 require 'date' date = DateTime.parse("2011-05-19 10:30:14") formatted_date = date.strftime('%a %b %d %H:%M:%S %Z %Y') 你会得到你

如何将特定字符串转换为此日期格式?

“2011-05-19 10:30:14”。到时间

Thu May 19 10:30:14 UTC 2011

有关格式化日期的详细信息,请参阅。

无需应用任何内容。只需在指定日期的变量末尾添加此代码。比如说

require 'date'

date = DateTime.parse("2011-05-19 10:30:14")
formatted_date = date.strftime('%a %b %d %H:%M:%S %Z %Y')
你会得到你喜欢的格式。您可以在Rails控制台上进行检查

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

尝试使用不同的格式显示日期。

使用
date\u格式
来自:

在初始值设定项中:

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"
在你看来:

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

def string_to_datetime(string,format=“%Y-%m-%d%H:%m:%S”)
DateTime.strTime(字符串,格式).to_time,除非string.blank?
结束

这是另一个有用的代码:

  <%= 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
更多格式:

"2011-05-19 10:30:14".to_datetime.strftime('%a %b %d %H:%M:%S %Z %Y')

我得到了NoMethodError…您正在加载哪些模块?@mrek此方法在rails或更具体地说是activesupport的字符串扩展中定义的。您可以
要求“活动\u支持/core\u ext/string”
来获得它。虽然这可能会回答问题,但请不要只发布代码答案。
  <%= 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
"2011-05-19 10:30:14".to_datetime.strftime('%a %b %d %H:%M:%S %Z %Y')
 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