উত্তর:
time.in_time_zone(time_zone)
উদাহরণ:
zone = ActiveSupport::TimeZone.new("Central Time (US & Canada)")
Time.now.in_time_zone(zone)
বা শুধু
Time.now.in_time_zone("Central Time (US & Canada)")
আপনি এ্যাকটিভসপোর্ট টাইম জোনের নামগুলি খুঁজে পেতে পারেন:
ActiveSupport::TimeZone.all.map(&:name)
# or for just US
ActiveSupport::TimeZone.us_zones.map(&:name)
require 'active_support/time'
প্রথমে রেলের বাইরে ব্যবহার করতে ।
rake time:zones:all
। এছাড়াও দেখুন rake -D time
। ডিফল্ট সময় অঞ্চল সেট করুন config/application.rb
।
যদি Time.zone
এটি আপনার কাঙ্ক্ষিত সময় অঞ্চল হয় তবে আপনি ব্যবহার করতে পারেন@date.to_time.to_datetime
> @date
=> Tue, 02 Sep 2014 23:59:59 +0000
> @date.class
=> DateTime
> @date.to_time
=> 2014-09-02 12:59:59 -1100
> @date.to_time.to_datetime
=> Tue, 02 Sep 2014 12:59:59 -1100
সরল রুবিতে, শুধুমাত্র সাথে require 'date'
, এই new_offset
পদ্ধতিটি ব্যবহার করুন :
require 'date'
d=DateTime.parse('2000-01-01 12:00 +0200')
l=d.new_offset('-0700')
u=l.new_offset('UTC')
puts "#{u.strftime('%a %F %T %Z')} ❖ #{l.strftime('%a %F %T %Z')}"
রুবি ২.৩..7 দিয়ে পরীক্ষা করা হয়েছে যা ম্যাক ওএস এক্স 10.13 এ স্ট্যান্ডার্ড এসেছে।
অ্যাক্টিভসপোর্টের টাইমবিথজোন অবজেক্টগুলি টাইমজোন দ্বারা চালিত করে দেখুন। অ্যাক্টিভসপোর্টটি কোনও ইউটিসি সময়কে একটি নির্দিষ্ট টাইমজোন সময় অঞ্চলে রূপান্তর করার জন্য ইন_টাইম_জোন পদ্ধতি সরবরাহ করে। মেকেদের উত্তর কোডটি দেখায়।
সেক্ষেত্রে, আপনি যদি রেলগুলিতে অ্যাক্টিভেকর্ড অবজেক্টের সাথে ডিল করছেন।
Time.use_zone
প্রতি অনুরোধ ভিত্তিক টাইমজোন যা ডিফল্ট টাইমজোন সেট আপকে ওভাররাইড করে তার জন্য ব্যবহার করা ভাল ধারণা হতে পারেconfig.time_zone
আরও বিশদটি আমি https://stackoverflow.com/a/25055692/542995 এ ব্যাখ্যা করি
আমি 4 রেলগুলিতে সরল_রফর্মটি ব্যবহার করছি এবং আমি কেবল ইনপুট ফিল্ডটি যুক্ত করেছি
<%= f.input :time_zone, :as => :time_zone %>
স্থানান্তর সঙ্গে
class AddTimeZoneColumnToTextmessage < ActiveRecord::Migration
def change
add_column :textmessages, :time_zone, :string
end
end