Komma åt och hantera datum och tider

Hur man lagrar datum och tider i Excel

Datum och tider lagras i celler som nummer. Därför är värdena i celler som innehåller datum och tider av numerisk typ. Ett nummer som specificerar ett datum och en tid består av datumet (heltalsdelen) och tiden (bråkdelen). Egenskapen Cell.DoubleValue returnerar detta nummer.

Hur man visar datum och tider i Aspose.Cells

För att visa ett nummer som ett datum och en tid, tillämpa önskad datum- och tidsformat till en cell via Style.Number eller Style.Custom egenskapen. Egenskapen CellValue.DateTimeValue returnerar DateTime-objektet som specificerar datum och tid som representeras av numret i en cell.

Hur man växlar mellan två datum system i Aspose.Cells

MS-Excel lagrar datum som nummer som kallas seriella värden. Ett seriellt värde är ett heltal som är antalet passerade dagar från den första dagen i datum systemet. Excel stöder följande datum system för seriella värden:

  1. 1900-datum systemet. Det första datumet är den 1 januari 1900 och dess seriella värde är 1. Det sista datumet är den 31 december 9999 och dess seriella värde är 2 958 465. Detta datum system används som standard i arbetsboken.
  2. 1904-datum systemet. Det första datumet är den 1 januari 1904 och dess seriella värde är 0. Det sista datumet är den 31 december 9999 och dess seriella värde är 2 957 003. För att använda detta datum system i arbetsboken, ställ in Workbook.Settings.Date1904 egenskapen till true.

Detta exempel visar att de seriella värden som lagras på samma datum i olika datum system är olika.

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))
Resultat av utmatning:

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

Hur man anger datumvärde i Aspose.Cells

Detta exempel anger ett DateTime-värde i cell A1 och A2, ställer in anpassat format för A1 och nummerformat för A2, och sedan skriver ut värdetyperna.

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.")

Resultat av utmatning:

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

Hur man får DateTime-värde i Aspose.Cells

Detta exempel anger ett DateTime-värde i cell A1 och A2, ställer in anpassat format för A1 och nummerformat för A2, kontrollerar värdetyperna för två celler, och sedan skriver ut DateTime-värdet och formaterad sträng.

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.")

Resultat av utmatning:

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