ヘッダーをスキップ
Oracle® Data Provider for .NET開発者ガイド
12c リリース1(12.1)
B72971-07
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

OracleDate構造

OracleDate構造は、データベースに格納されるか、またはデータベースから取得されるOracle DATEデータ型を表します。各OracleDateには、年、月、日、時、分、秒の情報が格納されます。

クラスの継承

System.Object

  System.ValueType

    Oracle.DataAccess.Types.OracleDate

宣言

// C#
public struct OracleDate : IComparable, INullable, IXmlSerializable

要件

プロバイダ ODP.NET管理対象外ドライバ ODP.NET管理対象ドライバ
アセンブリ Oracle.DataAccess.dll Oracle.ManagedDataAccess.dll
ネームスペース Oracle.DataAccess.Types Oracle.ManagedDataAccess.Types
.NET Framework 3.5, 4.0, 4.5 4.0, 4.5

スレッド安全性

パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。

// C#
 
using System;
using Oracle.DataAccess.Types;
using Oracle.DataAccess.Client;
 
class OracleDateSample
{
  static void Main(string[] args)
  {
    // Initialize the dates to the lower and upper boundaries
    OracleDate date1 = OracleDate.MinValue;
    OracleDate date2 = OracleDate.MaxValue;
    OracleDate date3 = new OracleDate(DateTime.MinValue);
    OracleDate date4 = new OracleDate(DateTime.MaxValue);
    
    // Set the thread's DateFormat for output
    OracleGlobalization info = OracleGlobalization.GetClientInfo();
    info.DateFormat = "DD-MON-YYYY BC";
    OracleGlobalization.SetThreadInfo(info);
 
    // Print the lower and upper boundaries
    Console.WriteLine("OracleDate ranges from\n{0}\nto\n{1}\n", 
      date1, date2);
    Console.WriteLine(".NET DateTime ranges from\n{0}\nto\n{1}\n", 
      date3, date4);
  }
}

OracleDateメンバー

OracleDateメンバーは次の表にリストされています。

OracleDateコンストラクタ

OracleDateコンストラクタを、表14-27にリストします。

表14-27 OracleDateコンストラクタ

コンストラクタ 説明

OracleDateコンストラクタ

OracleDate構造の新しいインスタンスをインスタンス化します(オーバーロード)


OracleDate静的フィールド

OracleDate静的フィールドを、表14-28にリストします。

表14-28 OracleDate静的フィールド

フィールド 説明

MaxValue

OracleDate構造に対する有効な日付の最大値、9999年12月31日、23時59分59秒を表します

MinValue

OracleDate構造に対する有効な日付の最小値、-4712年1月1日、0時0分0秒を表します

Null

OracleDate構造インスタンスの値に割り当てることができるNULL値を表します


OracleDate静的メソッド

OracleDate静的メソッドを、表14-29にリストします。

表14-29 OracleDate静的メソッド

メソッド 説明

Equals

2つのOracleDate値が同じかどうかを判別します(オーバーロード)

GreaterThan

2つのOracleDate値のうち、最初の値が2番目の値より大きいかどうかを判別します

GreaterThanOrEqual

2つのOracleDate値のうち、最初の値が2番目の値以上かどうかを判別します

LessThan

2つのOracleDate値のうち、最初の値が2番目の値より小さいかどうかを判別します

LessThanOrEqual

2つのOracleDate値のうち、最初の値が2番目の値以下かどうかを判別します

NotEquals

2つのOracleDate値が等しくないかどうかを判別します

GetSysDate

現在の日時を表すOracleDate構造を戻します

Parse

OracleDate構造を戻し、文字列を使用してその値を設定します


OracleDate静的演算子

OracleDate静的演算子を、表14-30にリストします。

表14-30 OracleDate静的演算子

演算子 説明

operator ==

2つのOracleDate値が等しいかどうかを判別します

operator >

2つのOracleDate値のうち、最初の値が2番目の値より大きいかどうかを判別します

operator >=

2つのOracleDate値のうち、最初の値が2番目の値以上かどうかを判別します

operator !=

2つのOracleDate値が等しくないかどうかを判別します

operator <

2つのOracleDate値のうち、最初の値が2番目の値より小さいかどうかを判別します

operator <=

2つのOracleDate値のうち、最初の値が2番目の値以下かどうかを判別します


OracleDate静的型変換

OracleDate静的型変換を、表14-31にリストします。

表14-31 OracleDate静的型変換

演算子 説明

explicit operator DateTime

構造をDateTime構造に変換します

explicit operator OracleDate

構造をOracleDate構造に変換します(オーバーロード)


OracleDateプロパティ

OracleDateプロパティを、表14-32にリストします。

表14-32 OracleDateプロパティ

プロパティ 説明

BinData

Oracleの内部書式でOracle DATEを表すバイトの配列を取得します

Day

OracleDateメソッドのdayコンポーネントを取得します

IsNull

現行インスタンスにNULL値があるかどうかを示します

Hour

OracleDatehourコンポーネントを取得します

Minute

OracleDateのminuteコンポーネントを取得します

Month

OracleDatemonthコンポーネントを取得します

Second

OracleDatesecondコンポーネントを取得します

Value

OracleDate構造に格納されている日時を取得します

Year

OracleDateyearコンポーネントを取得します


OracleDateメソッド

OracleDateメソッドを、表14-33にリストします。

表14-33 OracleDateメソッド

メソッド 説明

CompareTo

現行のOracleDateインスタンスをオブジェクトと比較し、相対値を表す整数を戻します

Equals

オブジェクトに現行のOracleDateインスタンスと同じ日時があるかどうかを判別します(オーバーロード)

GetHashCode

OracleDateインスタンスのハッシュ・コードを戻します

GetDaysBetween

現行のOracleDateインスタンスとOracleDate構造間の日数を計算します

GetType

System.Objectからの継承

ToOracleTimeStamp

現行のOracleDate構造をOracleTimeStamp構造に変換します

ToString

現行のOracleDate構造をstringに変換します


OracleDateコンストラクタ

OracleDateコンストラクタでは、OracleDate構造の新規インスタンスをインスタンス化します。

オーバーロード・リスト:

  • OracleDate(DateTime)

    このコンストラクタでは、OracleDate構造の新規インスタンスを作成し、指定されたDateTime値を使用して日付と時間の値を設定します。

  • OracleDate(string)

    このコンストラクタでは、OracleDate構造の新規インスタンスを作成し、指定された文字列を使用してその値を設定します。

  • OracleDate(int, int, int)

    このコンストラクタでは、OracleDate構造の新規インスタンスを作成し、指定された年、月および日を使用して日付の値を設定します。

  • OracleDate(int, int, int, int, int, int)

    このコンストラクタでは、OracleDate構造の新規インスタンスを作成し、指定された年、月、日、時、分および秒を使用して時間の値を設定します。

  • OracleDate(byte [ ])

    このコンストラクタでは、OracleDate構造の新規インスタンスを作成し、その値を指定されたバイト配列に設定します。このバイト配列は、内部Oracle DATE書式です。

OracleDate(DateTime)

このコンストラクタでは、OracleDate構造の新規インスタンスを作成し、指定されたDateTime値を使用して日付と時間の値を設定します。

宣言

// C#
public OracleDate (DateTime dt);

パラメータ

  • dt

    指定されたDateTime

備考

OracleDate構造では、下2桁までサポートされます。指定したDateTime構造の時刻値に下3桁以下が含まれる場合は、無視されます。

OracleDate(string)

このコンストラクタでは、OracleDate構造の新規インスタンスを作成し、指定された文字列を使用してその値を設定します。

宣言

// C#
public OracleDate (string dateStr);

パラメータ

  • dateStr

    Oracle DATEを表す文字列

例外

ArgumentException - dateStrはOracle DATEの無効な文字列表現です。またはdateStrは、OracleのNLS_DATE_FORMATパラメータを表す、スレッドのOracleGlobalization.DateFormatプロパティによって指定された日付書式ではありません。

ArgumentNullException - dateStrはNULLです。

備考

月および日付に使用されている名称および略称は、スレッドのOracleGlobalizationオブジェクトのDateLanguageおよびCalendarプロパティで指定されている言語による表記です。スレッドのグローバリゼーション・プロパティのいずれかがNULLまたは空の文字列に設定されている場合、クライアントのコンピュータの設定が使用されます。

// C#
 
using System;
using Oracle.DataAccess.Types;
using Oracle.DataAccess.Client;
 
class OracleDateSample
{
  static void Main(string[] args)
  {
    // Set the thread's DateFormat for the OracleDate constructor
    OracleGlobalization info = OracleGlobalization.GetClientInfo();
    info.DateFormat = "YYYY-MON-DD";
    OracleGlobalization.SetThreadInfo(info);
    
    // construct OracleDate from a string using the DateFormat specified.
    OracleDate date = new OracleDate("1999-DEC-01");
    
    // Set a different DateFormat for the thread
    info.DateFormat = "MM/DD/YYYY";
    OracleGlobalization.SetThreadInfo(info);
 
    // Print "12/01/1999"
    Console.WriteLine(date.ToString()); 
  }
}

関連項目:


OracleDate(int, int, int)

このコンストラクタでは、OracleDate構造の新規インスタンスを作成し、指定された年、月および日を使用して日付の値を設定します。

宣言

// C#
public OracleDate (int year, int month, int day);

パラメータ

  • year

    指定された年。yearの範囲は(-4712から9999)です。

  • month

    指定された月。monthの範囲は(1から12)です。

  • day

    指定された日。dayの範囲は(1から31)です。

例外

ArgumentOutOfRangeException - 1つ以上のパラメータの引数が、指定範囲を超えています。

ArgumentException - パラメータの引数値が有効なOracleDateを構築するのに使用できません(日が月の範囲を超えています)。

OracleDate(int, int, int, int, int, int)

このコンストラクタでは、OracleDate構造の新規インスタンスを作成し、指定された年、月、日、時、分および秒を使用して時間の値を設定します。

宣言

// C#
public OracleDate (int year, int month, int day, int hour, int minute, int second);

パラメータ

  • year

    指定された年。yearの範囲は(-4712から9999)です。

  • month

    指定された月。monthの範囲は(1から12)です。

  • day

    指定された日。dayの範囲は(1から31)です。

  • 時間

    指定された時間。hourの範囲は(0から23)です。

  • 指定された分。minuteの範囲は(0から59)です。

  • 指定された秒。secondの範囲は(0から59)です。

例外

ArgumentOutOfRangeException - 1つ以上のパラメータの引数が、指定範囲を超えています。

ArgumentException - パラメータの引数値が有効なOracleDateを構築するのに使用できません(日が月の範囲を超えています)。

OracleDate(byte [ ])

このコンストラクタでは、OracleDate構造の新規インスタンスを作成し、その値を指定されたバイト配列に設定します。このバイト配列は、内部Oracle DATE書式です。

宣言

// C#
public OracleDate(byte [] bytes);

パラメータ

  • bytes

    内部Oracle DATE書式のOracle DATEを表すバイト配列

例外

ArgumentException - bytesはNULLであるか、bytesはOracleの内部DATE書式ではないか、またはbytesは有効なOracle DATEではありません。

OracleDate静的フィールド

OracleDate静的フィールドを、表14-34にリストします。

表14-34 OracleDate静的フィールド

フィールド 説明

MaxValue

OracleDate構造に対する有効な日付の最大値、9999年12月31日、23時59分59秒を表します

MinValue

OracleDate構造に対する有効な日付の最小値、-4712年1月1日、0時0分0秒を表します

Null

OracleDate構造インスタンスの値に割り当てることができるNULL値を表します


MaxValue

この静的フィールドは、OracleDate構造に対する有効な日付の最大値、9999年12月31日、23時59分59秒を表します。

宣言

// C#
public static readonly OracleDate MaxValue;

MinValue

この静的フィールドは、OracleDate構造に対する有効な日付の最小値、-4712年1月1日を表します。

宣言

// C#
public static readonly OracleDate MinValue;

Null

この静的フィールドは、OracleDateインスタンスの値に割り当てることができるNULL値を表します。

宣言

// C#
public static readonly OracleDate Null;

OracleDate静的メソッド

OracleDate静的メソッドを、表14-35にリストします。

表14-35 OracleDate静的メソッド

メソッド 説明

Equals

2つのOracleDate値が同じかどうかを判別します(オーバーロード)

GreaterThan

2つのOracleDate値のうち、最初の値が2番目の値より大きいかどうかを判別します

GreaterThanOrEqual

2つのOracleDate値のうち、最初の値が2番目の値以上かどうかを判別します

LessThan

2つのOracleDate値のうち、最初の値が2番目の値より小さいかどうかを判別します

LessThanOrEqual

2つのOracleDate値のうち、最初の値が2番目の値以下かどうかを判別します

NotEquals

2つのOracleDate値が等しくないかどうかを判別します

GetSysDate

現在の日時を表すOracleDate構造を戻します

Parse

OracleDate構造を戻し、文字列を使用してその値を設定します


Equals

Objectをオーバーロードします。

このメソッドでは、2つのOracleDate値が等しいかどうかを判断します。

宣言

// C#
public static bool Equals(OracleDate value1, OracleDate value2);

パラメータ

  • value1

    最初のOracleDate

  • value2

    2番目のOracleDate

戻り値

2つのOracleDate値が等しい場合はtrueを戻し、それ以外の場合はfalseを戻します。

備考

次のルールが、このメソッドの動作に適用されます。

  • 値を持つすべてのOracleDateは、NULL値を持つOracleDateより大きい値とみなされます。

  • NULL値を含む2つのOracleDateは等しくなります。

GreaterThan

このメソッドでは、2つのOracleDate値のうち、最初の値が2番目の値より大きいかどうかを判断します。

宣言

// C#
public static bool GreaterThan(OracleDate value1, OracleDate value2);

パラメータ

  • value1

    最初のOracleDate

  • value2

    2番目のOracleDate

戻り値

2つのOracleDate値のうち、最初の値が2番目の値より大きい場合はtrueを戻し、それ以外の場合はfalseを戻します。

備考

次のルールが、このメソッドの動作に適用されます。

  • 値を持つすべてのOracleDateは、NULL値を持つOracleDateより大きい値とみなされます。

  • NULL値を含む2つのOracleDateは等しくなります。

GreaterThanOrEqual

このメソッドでは、2つのOracleDate値のうち、最初の値が2番目の値以上であるかどうかを判断します。

宣言

// C#
public static bool GreaterThanOrEqual(OracleDate value1, OracleDate value2);

パラメータ

  • value1

    最初のOracleDate

  • value2

    2番目のOracleDate

戻り値

2つのOracleDate値のうち、最初の値が2番目の値以上である場合はtrueを戻し、それ以外の場合はfalseを戻します。

備考

次のルールが、このメソッドの動作に適用されます。

  • 値を持つすべてのOracleDateは、NULL値を持つOracleDateより大きい値とみなされます。

  • NULL値を含む2つのOracleDateは等しくなります。

LessThan

このメソッドでは、2つのOracleDate値のうち、最初の値が2番目の値より小さいかどうかを判断します。

宣言

// C#
public static bool LessThan(OracleDate value1, OracleDate value2);

パラメータ

  • value1

    最初のOracleDate

  • value2

    2番目のOracleDate

戻り値

2つのOracleDate値のうち、最初の値が2番目の値より小さい場合はtrueを戻します。それ以外の場合はfalseを戻します。

備考

次のルールが、このメソッドの動作に適用されます。

  • 値を持つすべてのOracleDateは、NULL値を持つOracleDateより大きい値とみなされます。

  • NULL値を含む2つのOracleDateは等しくなります。

LessThanOrEqual

このメソッドでは、2つのOracleDate値のうち、最初の値が2番目の値以下であるかどうかを判断します。

宣言

// C#
public static bool LessThanOrEqual(OracleDate value1, OracleDate value2);

パラメータ

  • value1

    最初のOracleDate

  • value2

    2番目のOracleDate

戻り値

2つのOracleDate値のうち、最初の値が2番目の値以下である場合はtrueを戻し、それ以外の場合はfalseを戻します。

備考

次のルールが、このメソッドの動作に適用されます。

  • 値を持つすべてのOracleDateは、NULL値を持つOracleDateより大きい値とみなされます。

  • NULL値を含む2つのOracleDateは等しくなります。

NotEquals

このメソッドでは、2つのOracleDate値が等しくないかどうかを判断します。

宣言

// C#
public static bool NotEquals(OracleDate value1, OracleDate value2);

パラメータ

  • value1

    最初のOracleDate

  • value2

    2番目のOracleDate

戻り値

2つのOracleDate値が等しくない場合はtrueを戻し、それ以外の場合はfalseを戻します。

備考

次のルールが、このメソッドの動作に適用されます。

  • 値を持つすべてのOracleDateは、NULL値を持つOracleDateより大きい値とみなされます。

  • NULL値を含む2つのOracleDateは等しくなります。

GetSysDate

このメソッドでは、現在の日付および時間を表すOracleDate構造を取得します。

宣言

// C#
public static OracleDate GetSysDate ();

戻り値

現在の日付および時間を表すOracleDate構造

Parse

このメソッドでは、OracleDate構造を取得し、指定した文字列を使用して日付および時間の値を設定します。

宣言

// C#
public static OracleDate Parse (string dateStr);

パラメータ

  • dateStr

    Oracle DATEを表す文字列

戻り値

OracleDate構造

例外

ArgumentException - dateStrはOracle DATEの無効な文字列表現です。またはdateStrは、OracleのNLS_DATE_FORMATパラメータを表す、スレッドのOracleGlobalization.DateFormatプロパティによって指定された日付書式ではありません。

ArgumentNullException - dateStrはNULLです。

備考

月および日付に使用されている名称および略称は、スレッドのOracleGlobalizationオブジェクトのDateLanguageおよびCalendarプロパティで指定されている言語による表記です。スレッドのグローバリゼーション・プロパティのいずれかがNULLまたは空の文字列に設定されている場合、クライアントのコンピュータの設定が使用されます。

// C#
 
using System;
using Oracle.DataAccess.Types;
using Oracle.DataAccess.Client;
 
class ParseSample
{
  static void Main(string[] args)
  {
    // Set the thread's DateFormat for the OracleDate constructor
    OracleGlobalization info = OracleGlobalization.GetClientInfo();
    info.DateFormat = "YYYY-MON-DD";
    OracleGlobalization.SetThreadInfo(info);
    
    // Construct OracleDate from a string using the DateFormat specified
    OracleDate date = OracleDate.Parse("1999-DEC-01");
    
    // Set a different DateFormat on the thread for ToString() 
    info.DateFormat = "MM-DD-YY";
    OracleGlobalization.SetThreadInfo(info);
 
    // Print "12-01-1999"
    Console.WriteLine(date.ToString()); 
  }
}

OracleDate静的演算子

OracleDate静的演算子を、表14-36にリストします。

表14-36 OracleDate静的演算子

演算子 説明

operator ==

2つのOracleDate値が等しいかどうかを判別します

operator >

2つのOracleDate値のうち、最初の値が2番目の値より大きいかどうかを判別します

operator >=

2つのOracleDate値のうち、最初の値が2番目の値以上かどうかを判別します

operator !=

2つのOracleDate値が等しくないかどうかを判別します

operator <

2つのOracleDate値のうち、最初の値が2番目の値より小さいかどうかを判別します

operator <=

2つのOracleDate値のうち、最初の値が2番目の値以下かどうかを判別します


operator ==

このメソッドでは、2つのOracleDate値が等しいかどうかを判断します。

宣言

// C#
public static bool operator == (OracleDate value1, OracleDate value2);

パラメータ

  • value1

    最初のOracleDate

  • value2

    2番目のOracleDate

戻り値

これらの値が等しい場合はtrueを戻し、それ以外の場合はfalseを戻します。

備考

次のルールが、このメソッドの動作に適用されます。

  • 値を持つすべてのOracleDateは、NULL値を持つOracleDateより大きい値とみなされます。

  • NULL値を含む2つのOracleDateは等しくなります。

operator >

このメソッドでは、2つのOracleDate値のうち、最初の値が2番目の値より大きいかどうかを判断します。

宣言

// C#
public static bool operator > (OracleDate value1, OracleDate value2);

パラメータ

  • value1

    最初のOracleDate

  • value2

    2番目のOracleDate

戻り値

2つのOracleDate値のうち、最初の値が2番目の値より大きい場合はtrueを戻し、それ以外の場合はfalseを戻します。

備考

次のルールが、このメソッドの動作に適用されます。

  • 値を持つすべてのOracleDateは、NULL値を持つOracleDateより大きい値とみなされます。

  • NULL値を含む2つのOracleDateは等しくなります。

operator >=

このメソッドでは、2つのOracleDate値のうち、最初の値が2番目の値以上であるかどうかを判断します。

宣言

// C#
public static bool operator >= (OracleDate value1, OracleDate value2);

パラメータ

  • value1

    最初のOracleDate

  • value2

    2番目のOracleDate

戻り値

2つのOracleDate値のうち、最初の値が2番目の値以上である場合はtrueを戻し、それ以外の場合はfalseを戻します。

備考

次のルールが、このメソッドの動作に適用されます。

  • 値を持つすべてのOracleDateは、NULL値を持つOracleDateより大きい値とみなされます。

  • NULL値を含む2つのOracleDateは等しくなります。

operator !=

このメソッドでは、2つのOracleDate値が等しくないかどうかを判断します。

宣言

// C#
public static bool operator != (OracleDate value1, OracleDate value2);

パラメータ

  • value1

    最初のOracleDate

  • value2

    2番目のOracleDate

戻り値

2つのOracleDate値が等しくない場合はtrueを戻し、それ以外の場合はfalseを戻します。

備考

次のルールが、このメソッドの動作に適用されます。

  • 値を持つすべてのOracleDateは、NULL値を持つOracleDateより大きい値とみなされます。

  • NULL値を含む2つのOracleDateは等しくなります。

operator <

このメソッドでは、2つのOracleDate値のうち、最初の値が2番目の値より小さいかどうかを判断します。

宣言

// C#
public static bool operator < (OracleDate value1, OracleDate value2);

パラメータ

  • value1

    最初のOracleDate

  • value2

    2番目のOracleDate

戻り値

2つのOracleDate値のうち、最初の値が2番目の値より小さい場合はtrueを戻し、それ以外の場合はfalseを戻します。

備考

次のルールが、このメソッドの動作に適用されます。

  • 値を持つすべてのOracleDateは、NULL値を持つOracleDateより大きい値とみなされます。

  • NULL値を含む2つのOracleDateは等しくなります。

operator <=

このメソッドでは、2つのOracleDate値のうち、最初の値が2番目の値以下であるかどうかを判断します。

宣言

// C#
public static bool operator <= (OracleDate value1, OracleDate value2);

パラメータ

  • value1

    最初のOracleDate

  • value2

    2番目のOracleDate

戻り値

2つのOracleDate値のうち、最初の値が2番目の値以下である場合はtrueを戻し、それ以外の場合はfalseを戻します。

備考

次のルールが、このメソッドの動作に適用されます。

  • 値を持つすべてのOracleDateは、NULL値を持つOracleDateより大きい値とみなされます。

  • NULL値を含む2つのOracleDateは等しくなります。

OracleDate静的型変換

OracleDate静的型変換を、表14-37にリストします。

表14-37 OracleDate静的型変換

演算子 説明

explicit operator DateTime

構造をDateTime構造に変換します

explicit operator OracleDate

構造をOracleDate構造に変換します(オーバーロード)


explicit operator DateTime

このメソッドにより、OracleDate構造がDateTime構造に変換されます。

宣言

// C#
public static explicit operator DateTime(OracleDate val);

パラメータ

  • val

    OracleDate構造

戻り値

DateTime構造

explicit operator OracleDate

explicit operator OracleDateにより、指定された構造がOracleDate構造に変換されます。

オーバーロード・リスト:

explicit operator OracleDate(DateTime)

このメソッドにより、DateTime構造がOracleDate構造に変換されます。

宣言

// C#
public static explicit operator OracleDate(DateTime dt);

パラメータ

  • dt

    DateTime構造

戻り値

OracleDate構造

explicit operator OracleDate(OracleTimeStamp)

このメソッドにより、OracleTimeStamp構造がOracleDate構造に変換されます。

宣言

// C#
public explicit operator OracleDate(OracleTimeStamp ts);

パラメータ

  • ts

    OracleTimeStamp

戻り値

戻されたOracleDate構造には、OracleTimeStamp構造の日付および時間が含まれます。

備考

OracleTimeStamp値の精度が変換中に失われる場合があります。

OracleTimeStamp構造にNULL値がある場合、戻されたOracleDate構造にもNULL値があります。

explicit operator OracleDate(string)

このメソッドにより、指定した文字列がOracleDate構造に変換されます。

宣言

// C#
public explicit operator OracleDate (string dateStr);

パラメータ

  • dateStr

    Oracle DATEの文字列表現

戻り値

戻されたOracleDate構造には、文字列dateStrの日付および時間が含まれます。

例外

ArgumentNullException - dateStrはNULLです。

ArgumentException - この例外は次のいずれかの条件が存在する場合に表示されます。

  • dateStrはOracle DATEの無効な文字列表現です。

  • dateStrは、OracleのNLS_DATE_FORMATパラメータを表す、スレッドのOracleGlobalization.DateFormatプロパティによって指定される日付書式ではありません。

備考

月および日付に使用されている名称および略称は、スレッドのOracleGlobalizationオブジェクトのDateLanguageおよびCalendarプロパティで指定されている言語による表記です。スレッドのグローバリゼーション・プロパティのいずれかがNULLまたは空の文字列に設定されている場合、クライアントのコンピュータの設定が使用されます。

// C#
 
using System;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
 
class OracleDateSample
{
  static void Main(string[] args)
  {
    // Set the thread's DateFormat to a specific format
    OracleGlobalization info = OracleGlobalization.GetClientInfo();
    info.DateFormat = "YYYY-MON-DD";
    OracleGlobalization.SetThreadInfo(info);
    
    // Construct OracleDate from a string using the DateFormat specified
    OracleDate date = (OracleDate)"1999-DEC-01";
    
    // Set a different DateFormat on the thread for ToString() 
    info.DateFormat = "MON DD YY";
    OracleGlobalization.SetThreadInfo(info);
 
    // Prints "DEC 01 99"
    Console.WriteLine(date.ToString()); 
  }
}

OracleDateプロパティ

OracleDateプロパティを、表14-38にリストします。

表14-38 OracleDateプロパティ

プロパティ 説明

BinData

Oracleの内部書式でOracle DATEを表すバイトの配列を取得します

Day

OracleDateメソッドのdayコンポーネントを取得します

IsNull

現行インスタンスにNULL値があるかどうかを示します

Hour

OracleDatehourコンポーネントを取得します

Minute

OracleDateのminuteコンポーネントを取得します

Month

OracleDatemonthコンポーネントを取得します

Second

OracleDatesecondコンポーネントを取得します

Value

OracleDate構造に格納されている日時を取得します

Year

OracleDateyearコンポーネントを取得します


BinData

このプロパティでは、Oracleの内部書式でOracle DATEを表すバイトの配列を取得します。

宣言

// C#
public byte[] BinData{get;}

プロパティ値

バイトの配列

例外

OracleNullValueException - OracleDateにNULL値があります。

Day

このプロパティはOracleDateのdayコンポーネントを取得します。

宣言

// C#
public int Day{get;}

プロパティ値

日を表す数値。Dayの範囲は(1から31)です。

例外

OracleNullValueException - OracleDateにNULL値があります。

IsNull

このプロパティは現行インスタンスにNULL値があるかどうかを示します。

宣言

// C#
public bool IsNull{get;}

プロパティ値

現行インスタンスにNULL値がある場合はtrueを戻し、それ以外の場合はfalseを戻します。

Hour

このプロパティはOracleDatehourコンポーネントを取得します。

宣言

// C#
public int Hour {get;}

プロパティ値

Hourを表す数値。Hourの範囲は(0から23)です。

例外

OracleNullValueException - OracleDateにNULL値があります。

Minute

このプロパティはOracleDateのminuteコンポーネントを取得します。

宣言

// C#
public int Minute {get;}

プロパティ値

Minuteを表す数値。Minuteの範囲は(0から59)です。

例外

OracleNullValueException - OracleDateにNULL値があります。

Month

このプロパティはOracleDatemonthコンポーネントを取得します。

宣言

// C#
public int Month {get;}

プロパティ値

Monthを表す数値。Monthの範囲は(1から12)です。

例外

OracleNullValueException - OracleDateにNULL値があります。

Second

このプロパティはOracleDatesecondコンポーネントを取得します。

宣言

// C#
public int Second {get;}

プロパティ値

Secondを表す数値。Secondの範囲は(0から59)です。

例外

OracleNullValueException - OracleDateにNULL値があります。

Value

このプロパティは、OracleDate構造に格納されている日付および時間を指定します。

宣言

// C#
public DateTime Value {get;}

プロパティ値

DateTime

例外

OracleNullValueException - OracleDateにNULL値があります。

Year

このプロパティはOracleDateyearコンポーネントを取得します。

宣言

// C#
public int Year {get;}

プロパティ値

Yearを表す数値。Yearの範囲は(-4712から9999)です。

例外

OracleNullValueException - OracleDateにNULL値があります。

OracleDateメソッド

OracleDateメソッドを、表14-39にリストします。

表14-39 OracleDateメソッド

メソッド 説明

CompareTo

現行のOracleDateインスタンスをオブジェクトと比較し、相対値を表す整数を戻します

Equals

オブジェクトに現行のOracleDateインスタンスと同じ日時があるかどうかを判別します(オーバーロード)

GetHashCode

OracleDateインスタンスのハッシュ・コードを戻します

GetDaysBetween

現行のOracleDateインスタンスとOracleDate構造間の日数を計算します

GetType

System.Objectからの継承

ToOracleTimeStamp

現行のOracleDate構造をOracleTimeStamp構造に変換します

ToString

現行のOracleDate構造をstringに変換します


CompareTo

このメソッドは、現行のOracleDateインスタンスとオブジェクトを比較し、その相対値を表す整数を戻します。

宣言

// C#
public int CompareTo(object obj);

パラメータ

  • obj

    オブジェクト

戻り値

メソッドにより、次を戻します。

  • ゼロ未満: 現行のOracleDateインスタンス値がobjより小さい場合

  • ゼロ: 現行のOracleDateインスタンスとobj値が等しい場合

  • ゼロ超過: 現行のOracleDateインスタンス値がobjより大きい場合

実装

IComparable

例外

ArgumentException - objパラメータは、OracleDateのインスタンスではありません。

備考

次のルールが、このメソッドの動作に適用されます。

  • 比較はOracleDate間で行う必要があります。たとえば、OracleDateインスタンスとOracleBinaryインスタンスを比較することはできません。OracleDateを別のタイプと比較すると、ArgumentExceptionがスローされます。

  • 値を持つすべてのOracleDateは、NULL値を持つOracleDateより大きい値とみなされます。

  • NULL値を含む2つのOracleDateは等しくなります。

Equals

このメソッドでは、オブジェクトに現行のOracleDateインスタンスと同じ日付および時間があるかどうかを判断します。

宣言

// C#
public override bool Equals( object obj);

パラメータ

  • obj

    オブジェクト

戻り値

objに現行インスタンスと同じタイプがあり、同じ日付および時間を表す場合はtrueを戻し、それ以外の場合はfalseを戻します。

備考

次のルールが、このメソッドの動作に適用されます。

  • 値を持つすべてのOracleDateは、NULL値を持つOracleDateより大きい値とみなされます。

  • NULL値を含む2つのOracleDateは等しくなります。

GetHashCode

Objectをオーバーライドします。

このメソッドにより、OracleDateインスタンスのハッシュ・コードを戻します。

宣言

// C#
public override int GetHashCode();

戻り値

ハッシュ・コードを表す数値

GetDaysBetween

このメソッドでは、現行のOracleDateインスタンスと指定したOracleDate構造間の日数を計算します。

宣言

// C#
public int GetDaysBetween (OracleDate val);

パラメータ

  • val

    OracleDate構造

戻り値

現行のOracleDateインスタンスとOracleDate構造間の日数

例外

OracleNullValueException - 現行インスタンスまたは指定されたOracleDate構造にはNULL値があります。

ToOracleTimeStamp

このメソッドにより、現行のOracleDate構造がOracleTimeStamp構造に変換されます。

宣言

// C#
public OracleTimeStamp ToOracleTimeStamp();

戻り値

OracleTimeStamp構造

備考

戻されたOracleTimeStamp構造には、現行インスタンスの日付および時間があります。

OracleDateインスタンスにNULL値がある場合、戻されたOracleTimeStamp構造にはNULL値があります。

ToString

ValueTypeをオーバーライドします

このメソッドにより、現行のOracleDate構造がstringに変換されます。

宣言

// C#
public override string ToString();

戻り値

文字列

備考

戻された値は、スレッドのOracleGlobalization.DateFormatプロパティで指定された書式における、OracleDateの文字列表現です。月および日付に使用されている名称および略称は、スレッドのOracleGlobalization.DateLanguageおよびOracleGlobalization.Calendarプロパティで指定されている言語による表記です。スレッドのグローバリゼーション・プロパティのいずれかがNULLまたは空の文字列に設定されている場合、クライアントのコンピュータの設定が使用されます。

// C#
 
using System;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
 
class ToStringSample
{
  static void Main(string[] args)
  {
    // Set the thread's DateFormat to a specific format
    OracleGlobalization info = OracleGlobalization.GetClientInfo();
    info.DateFormat = "YYYY-MON-DD";
    OracleGlobalization.SetThreadInfo(info);
    
    // Construct OracleDate from a string using the DateFormat specified
    OracleDate date = (OracleDate)"1999-DEC-01";
    
    // Set a different DateFormat on the thread for ToString() 
    info.DateFormat = "YYYY/MM/DD";
    OracleGlobalization.SetThreadInfo(info);
 
    // Prints "1999/12/01"
    Console.WriteLine(date.ToString()); 
  }
}