日付と時間の管理方法
Excelでの日付と時間の格納方法
日付と時間はセルに数値として格納されます。したがって、日付と時間を含むセルの値は数値型です。日付と時間を指定する数値は、日付(整数部)と時間(小数部)のコンポーネントで構成されます。Cell.DoubleValueプロパティは、この数値を返します。
Aspose.Cellsでの日付と時間の表示方法
番号を日付と時間として表示するには、セルに必要な日時フォーマットを適用します。 Style.number または Style.Custom プロパティを使用します。CellValue.DateTimeValue プロパティは、セルに含まれる数字が表す日時を示す DateTime オブジェクトを返します。
Aspose.Cellsでの2つの日付システムの切り替え方法
MS-Excelは、日付をシリアル値と呼ばれる数値として格納します。シリアル値は、日付システムの最初の日から経過した日数を示す整数です。Excelは、シリアル値のために以下の日付システムをサポートしています。
- 1900年の日付システム。最初の日付は1900年1月1日で、そのシリアル値は1です。最後の日付は9999年12月31日で、そのシリアル値は2,958,465です。この日付システムはワークブックのデフォルトで使用されます。
- 1904日付システム。最初の日付は1904年1月1日で、そのシリアル値は0です。最後の日付は9999年12月31日で、そのシリアル値は2,957,003です。この日付システムをWorkbookで使用するには、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での日時値の設定方法
この例では、セル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での日時値の取得方法
この例では、セルA1とA2に日時値を設定し、A1のカスタム形式とA2の数値形式を設定し、2つのセルの値のタイプをチェックし、日時値とフォーマットされた文字列を出力します。
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