Konwertuj Łańcuch do DateTime
Muszę przetworzyć następujący łańcuch do obiektu DateTime:30/Nov/2009:16:29:30 +0100
PS: chcę przekonwertować powyższy łańcuch tak, jak jest. Okrężnica po roku nie jest literówką. Chcę również rozwiązać problem z Ruby, a nie RoR.
7 answers
DateTime.strptime pozwala określić format i przekonwertować Łańcuch znaków na DateTime.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-04 15:28:22
Czy to też nie powinno zadziałać?
"30/Nov/2009 16:29:30 +0100".to_datetime
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-13 20:10:45
Odniosłem sukces z:
require 'time'
t = Time.parse(some_string)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-17 12:43:07
Użyłam Time.parse("02/07/1988")
, podobnie jak inne plakaty.
Ciekawostką było to, że Time
był ładowany domyślnie po otwarciu IRB, ale {[2] } nie został zdefiniowany. Musiałem to uruchomić.
To z Ruby 2.2.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-04 21:35:01
To przekonwertuje łańcuch w date na datetime:
"05/05/2012".to_time
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-30 12:20:57
Dla chińskich programistów Rails:
DateTime.strptime('2012-12-09 00:01:36', '%Y-%m-%d %H:%M:%S')
=> Sun, 09 Dec 2012 00:01:36 +0000
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-16 21:33:43
W Rubim 1.8, moduł ParseDate przekonwertuje ten i wiele innych formatów daty/czasu. Jednak nie radzi sobie z okrężnicą między rokiem a godziną. Zakładając, że dwukropek jest literówką i jest w rzeczywistości spacją, to:
#!/usr/bin/ruby1.8
require 'parsedate'
s = "30/Nov/2009 16:29:30 +0100"
p Time.mktime(*ParseDate.parsedate(s)) # => Mon Nov 30 16:29:30 -0700 2009
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-04 15:39:20