From eb10319ae9845bcbde4d2fb64341ae0899ca69c7 Mon Sep 17 00:00:00 2001 From: ymmtd0x0b Date: Sun, 26 Jan 2025 13:10:19 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E3=83=A6=E3=83=BC=E3=82=B6=E3=83=BC?= =?UTF-8?q?=E3=81=AE=E3=82=AB=E3=83=AC=E3=83=B3=E3=83=80=E3=83=BC=E3=82=A2?= =?UTF-8?q?=E3=83=97=E3=83=AA=E4=B8=8A=E3=81=A7=E5=AE=9A=E6=9C=9F=E3=82=A4?= =?UTF-8?q?=E3=83=99=E3=83=B3=E3=83=88=E3=81=AE=E9=96=8B=E5=A7=8B=E3=83=BB?= =?UTF-8?q?=E7=B5=82=E4=BA=86=E6=99=82=E9=96=93=E3=81=8C=20UTC=20=E5=9F=BA?= =?UTF-8?q?=E6=BA=96=E3=81=AB=E3=81=AA=E3=82=8B=E5=95=8F=E9=A1=8C=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/regular_event.rb | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/app/models/regular_event.rb b/app/models/regular_event.rb index 0689f9447b9..e96fbc5f1da 100644 --- a/app/models/regular_event.rb +++ b/app/models/regular_event.rb @@ -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 From 384d6c1d6d5ff29009b6565e60795573e1b04852 Mon Sep 17 00:00:00 2001 From: ymmtd0x0b Date: Sun, 26 Jan 2025 18:25:36 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E8=A9=B2=E5=BD=93=E3=83=86=E3=82=B9?= =?UTF-8?q?=E3=83=88=E3=81=8C=E4=BF=AE=E6=AD=A3=E5=89=8D=E3=81=AE=E3=82=B3?= =?UTF-8?q?=E3=83=BC=E3=83=89=E3=81=A7=E5=A4=B1=E6=95=97=E3=81=99=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/models/regular_event_test.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/test/models/regular_event_test.rb b/test/models/regular_event_test.rb index cc138367e0b..a63ccbe0e5c 100644 --- a/test/models/regular_event_test.rb +++ b/test/models/regular_event_test.rb @@ -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