كيفية إدارة التواريخ والأوقات

كيفية تخزين التواريخ والأوقات في إكسل

يتم تخزين التواريخ والأوقات في الخلايا على أنها أرقام. وبالتالي، قيم الخلايا التي تحتوي على تواريخ وأوقات تكون من نوع رقمي. الرقم الذي يحدد تاريخًا ووقتًا يتكون من مكونات التاريخ (الجزء الصحيح) والوقت (الجزء الكسري). يُرجع خاصية Cell.DoubleValue هذا الرقم.

كيفية عرض التواريخ والأوقات في Aspose.Cells

لعرض رقم كتاريخ ووقت، طبق تنسيق التاريخ والوقت المطلوب على خلية عبر خاصية Style.number أو Style.Custom . تعيد خاصية CellValue.DateTimeValue كائن DateTime، الذي يحدد التاريخ والوقت الممثلين بواسطة الرقم الموجود في الخلية.

كيفية التبديل بين نظامي التواريخ في Aspose.Cells

تخزن برنامج MS-Excel التواريخ كأرقام تسمى قيم متسلسلة. قيمة متسلسلة هي عدد صحيح هو عدد الأيام المنقضية من اليوم الأول في نظام التاريخ. يدعم Excel الأنظمة التالية للقيم المتسلسلة للتواريخ:

  1. نظام التاريخ 1900. اليوم الأول هو 1 يناير 1900، وقيمته المتسلسلة هي 1. أما آخر يوم فهو 31 ديسمبر 9999، وقيمته المتسلسلة هي 2،958،465. يُستخدم هذا النظام في جدول العمل افتراضيًا.
  2. نظام التاريخ 1904. التاريخ الأول هو 1 يناير 1904، وقيمته التسلسلية هي 0. التاريخ الأخير هو 31 ديسمبر 9999، وقيمته التسلسلية هي 2،957،003. لاستخدام هذا النظام في دفتر العمل، قم بتعيين خاصية Workbook.settings.date1904 إلى true.

تُظهر هذا المثال أن القيم المتسلسلة المخزنة في نفس التاريخ في أنظمة تاريخ مختلفة هي مختلفة.

from aspose.cells import CellValueType, Workbook
from datetime import datetime
# Instantiating an Workbook object
workbook = Workbook()
workbook.settings.date1904 = False
# Obtaining the reference of the newly added worksheet
ws = workbook.worksheets[0]
cells = ws.cells
dateData = datetime(2023, 11, 23)
# Setting the DateTime value to the cells
a1 = cells.get("A1")
a1.put_value(dateData)
# Check if the cell contains a numeric value
if a1.type == CellValueType.IS_NUMERIC:
print("A1 is Numeric Value: " + str(a1.double_value))
workbook.settings.date1904 = True
print("use The 1904 date system====================")
# Setting the DateTime value to the cells
a2 = cells.get("A2")
a2.value = dateData
# Check if the cell contains a numeric value
if a2.type == CellValueType.IS_NUMERIC:
print("A2 is Numeric Value: " + str(a2.double_value))
النتيجة المخرجة:

A1 is Numeric Value: 45253
use The 1904 date system====================
A2 is Numeric Value: 43791

كيفية تعيين قيمة تاريخ ووقت في Aspose.Cells

يُعين هذا المثال قيمة DateTime في الخلية A1 و A2، يضبط تنسيق مخصص ل A1 وتنسيق رقمي ل A2، ثم يخرج أنواع القيمة.

from aspose.cells import CellValueType, Workbook
from datetime import datetime
# Instantiating an Workbook object
workbook = Workbook()
# Obtaining the reference of the newly added worksheet
ws = workbook.worksheets[0]
cells = ws.cells
# Setting the DateTime value to the cells
a1 = cells.get("A1")
a1.put_value(datetime.now())
# Check if the cell contains a numeric value
if a1.type == CellValueType.IS_NUMERIC:
print("A1 is Numeric Value: " + str(a1.is_numeric_value))
a1Style = a1.get_style()
# Set custom Datetime style
a1Style.custom = "mm-dd-yy hh:mm:ss"
a1.set_style(a1Style)
# Check if the cell contains a DateTime value
if a1.type == CellValueType.IS_DATE_TIME:
print("Cell A1 contains a DateTime value.")
else:
print("Cell A1 does not contain a DateTime value.")
# Setting the DateTime value to the cells
a2 = cells.get("A2")
a2.value = datetime.now()
# Check if the cell contains a numeric value
if a2.type == CellValueType.IS_NUMERIC:
print("A2 is Numeric Value: " + str(a2.is_numeric_value))
a2Style = a2.get_style()
# Set the display format of numbers and dates.
a2Style.number = 22
a2.set_style(a2Style)
# Check if the cell contains a DateTime value
if a2.type == CellValueType.IS_DATE_TIME:
print("Cell A2 contains a DateTime value.")
else:
print("Cell A2 does not contain a DateTime value.")

النتيجة المخرجة:

A1 is Numeric Value: True
Cell A1 contains a DateTime value.
A2 is Numeric Value: True
Cell A2 contains a DateTime value.

كيفية الحصول على قيمة تاريخ ووقت في Aspose.Cells

يُعين هذا المثال قيمة DateTime في الخلية A1 و A2، يضبط تنسيق مخصص ل A1 وتنسيق رقمي ل A2، يتحقق من أنواع القيمة في الخليتين، ثم يخرج قيمة DateTime وسلسلة مُنسَقة.

from aspose.cells import CellValueType, Workbook
from datetime import datetime
# Instantiating an Workbook object
workbook = Workbook()
# Obtaining the reference of the newly added worksheet
ws = workbook.worksheets[0]
cells = ws.cells
# Setting the DateTime value to the cells
a1 = cells.get("A1")
a1.put_value(datetime.now())
# Check if the cell contains a numeric value
if a1.type == CellValueType.IS_NUMERIC:
print("A1 is Numeric Value: " + str(a1.is_numeric_value))
a1Style = a1.get_style()
# Set custom Datetime style
a1Style.custom = "mm-dd-yy hh:mm:ss"
a1.set_style(a1Style)
# Check if the cell contains a DateTime value
if a1.type == CellValueType.IS_DATE_TIME:
print("Cell A1 contains a DateTime value.")
# Get the DateTime value
dateTimeValue = a1.date_time_value
# Now, you can use dateTimeValue as needed
print("A1 DateTime Value: " + str(dateTimeValue))
# Output date formatted string
print("A1 DateTime String Value: " + a1.string_value)
else:
print("Cell A1 does not contain a DateTime value.")
# Setting the DateTime value to the cells
a2 = cells.get("A2")
a2.value = datetime.now()
# Check if the cell contains a numeric value
if a2.type == CellValueType.IS_NUMERIC:
print("A2 is Numeric Value: " + str(a2.is_numeric_value))
a2Style = a2.get_style()
# Set the display format of numbers and dates.
a2Style.number = 22
a2.set_style(a2Style)
# Check if the cell contains a DateTime value
if a2.type == CellValueType.IS_DATE_TIME:
print("Cell A2 contains a DateTime value.")
# Get the DateTime value
dateTimeValue = a2.date_time_value
# Now, you can use dateTimeValue as needed
print("A2 DateTime Value: " + str(dateTimeValue))
# Output date formatted string
print("A2 DateTime String Value: " + a2.string_value)
else:
print("Cell A2 does not contain a DateTime value.")

النتيجة المخرجة:

A1 is Numeric Value: True
Cell A1 contains a DateTime value.
A1 DateTime Value: 11/23/2023 5:59:09 PM
A1 DateTime String Value: 11-23-23 17:59:09
A2 is Numeric Value: True
Cell A2 contains a DateTime value.
A2 DateTime Value: 11/23/2023 5:59:09 PM
A2 DateTime String Value: 11/23/2023 17:59