diff --git a/rog/services/csv_processor.py b/rog/services/csv_processor.py index b5f2862..db4f361 100644 --- a/rog/services/csv_processor.py +++ b/rog/services/csv_processor.py @@ -6,6 +6,7 @@ from django.contrib.auth.hashers import make_password from django.core.exceptions import ValidationError from django.db import transaction from datetime import datetime, timedelta, timezone +from django.utils import timezone as django_timezone import csv from ..models import CustomUser, Team, Member, NewCategory, Entry, NewEvent2 @@ -251,34 +252,26 @@ class EntryCSVProcessor: entry_date = None if 'entry_date' in row and row['entry_date']: try: - # 様々な日付形式に対応 - date_formats = [ - '%Y/%m/%d %H:%M', - '%Y/%m/%d', - '%Y-%m-%d %H:%M', - '%Y-%m-%d' - ] + date_formats = ['%Y/%m/%d %H:%M', '%Y/%m/%d', '%Y-%m-%d %H:%M', '%Y-%m-%d'] for date_format in date_formats: try: - entry_date = datetime.strptime(row['entry_date'], date_format) + naive_date = datetime.strptime(row['entry_date'], date_format) + entry_date = django_timezone.make_aware(naive_date) break except ValueError: continue if entry_date is None: - raise ValueError(f"Could not parse date: {row['entry_date']}") - - # タイムゾーン対応 - entry_date = timezone.make_aware(entry_date) + entry_date = event.start_datetime except Exception as e: print(f"Date parsing error: {str(e)}") entry_date = event.start_datetime else: entry_date = event.start_datetime - if entry_date is None: - raise ValueError("Could not determine entry date") + if entry_date is None: + raise ValueError("Could not determine entry date") print(f'エントリー日付:{entry_date}')