Skip to content

Commit

Permalink
Merge pull request #8288 from fjordllc/bug/start_time_of_regular_even…
Browse files Browse the repository at this point in the history
…t_is_shifted

カレンダーアプリ上で定期イベントの開始・終了時間が UTC 基準になる問題を修正
  • Loading branch information
komagata authored Jan 27, 2025
2 parents 0c1066d + 384d6c1 commit 0ffe595
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 10 deletions.
9 changes: 3 additions & 6 deletions app/models/regular_event.rb
Original file line number Diff line number Diff line change
Expand Up @@ -167,11 +167,8 @@ def nth_wday(date)
end

def parse_event_time(event_date, event_time)
tz = ActiveSupport::TimeZone['Asia/Tokyo']

time = event_time ? event_time.strftime('%H:%M') : '00:00'
date_time = DateTime.parse("#{event_date} #{time}")

tz.local_to_utc(date_time)
str_date = event_date.strftime('%F')
str_time = event_time.strftime('%R')
Time.zone.parse([str_date, str_time].join(' '))
end
end
10 changes: 6 additions & 4 deletions test/models/regular_event_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -136,13 +136,15 @@ class RegularEventTest < ActiveSupport::TestCase
assert_equal wednesday_for_year, scheduled_dates
end

test '#format_event_date' do
test '#transform_for_subscription' do
travel_to Time.zone.local(2024, 8, 5, 23, 0, 0) do
regular_event = regular_events(:regular_event34)
regular_event = RegularEvent.new(start_at: '21:00', end_at: '22:00')
event_date = Date.new(2024, 8, 7)
transformed_regular_event = regular_event.transform_for_subscription(event_date)
assert_equal DateTime.new(2024, 8, 7, 21, 0, 0, '+09:00'), transformed_regular_event.start_on
assert_equal DateTime.new(2024, 8, 7, 22, 0, 0, '+09:00'), transformed_regular_event.end_on

assert_equal Time.zone.parse('2024-08-07 21:00'), transformed_regular_event.start_on
assert_equal Time.zone.parse('2024-08-07 22:00'), transformed_regular_event.end_on
assert_equal 'JST', transformed_regular_event.start_on.zone, 'タイムゾーンが日本標準時(Japan Standard Time)と異なります'
end
end

Expand Down

0 comments on commit 0ffe595

Please sign in to comment.