تقنية

tzinfo في بايثون: هل replace يساوي astimezone؟

الاستبدال يبقي 12:00 بإزاحة +03:00 في المثال.
استبدال المعلومة.

replace(tzinfo=z) تسند المعلومة الزمنية دون تعديل التاريخ والوقت. [1]

الخلاصة السريعة

لا في المثال؛ الساعة 12 مع الاستبدال و15 مع التحويل. [1]

  • replace(tzinfo=z) تسند المعلومة الزمنية دون تعديل التاريخ والوقت. [1]
  • astimezone(z) تعدل التاريخ والوقت بحيث تمثل النتيجة وقت UTC نفسه. [1]
  • مثال مؤلف بإزاحة ثابتة على CPython 3.12.14: d وz أدناه؛ d.replace(tzinfo=z) تبقي الساعة 12 بإزاحة +3 ساعات. [1]
  • d.astimezone(z) تعطي الساعة 15 بإزاحة +3 ساعات. [1]
  • تحكم: 12-3=9 مقابل 15-3=12 بتوقيت UTC؛ يبقى d عند الساعة 12 UTC. [1]

إسناد دون تحويل

replace(tzinfo=z) تسند المعلومة الزمنية دون تعديل التاريخ والوقت. [1]

تحويل يحفظ وقت UTC

astimezone(z) تعدل التاريخ والوقت بحيث تمثل النتيجة وقت UTC نفسه. [1]

الاستبدال في المثال

مثال مؤلف بإزاحة ثابتة على CPython 3.12.14: d وz أدناه؛ d.replace(tzinfo=z) تبقي الساعة 12 بإزاحة +3 ساعات. [1]

from datetime import datetime, timedelta, timezone z=timezone(timedelta(hours=3)) d=datetime(2026,10,11,12,tzinfo=timezone.utc) [1]

التحويل يعطي 15:00 بإزاحة +03:00.
تحويل الساعة.

التحويل والتحكم

d.astimezone(z) تعطي الساعة 15 بإزاحة +3 ساعات. [1]

d.astimezone(z) -> 15:00 UTC+03:00 [1]

تحكم: 12-3=9 مقابل 15-3=12 بتوقيت UTC؛ يبقى d عند الساعة 12 UTC. [1]

المراجع

  1. Python — timezone conversion

للتوسع: لغات البرمجة.

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.