📜  C#中的DateTime.FromBinary()方法

📅  最后修改于: 2021-05-29 19:51:59             🧑  作者: Mango

DateTime.FromBinary(Int64)方法用于反序列化64位二进制值,并重新创建原始的序列化DateTime对象。

下面的程序说明了DateTime.FromBinary(Int64)方法的用法:

范例1:

// C# program to demonstrate the
// DateTime.FromBinary(Int64) Method
using System;
using System.Globalization;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
            // creating object of DateTime
            DateTime date1 = new DateTime(2010, 1, 1,
                                           8, 0, 15);
  
            // getting a 64-bit signed integer
            // using ToBinary() method
            long binLocal = date1.ToBinary();
  
            // cnverting 64-bit into DateTime format
            // using FromBinary() method
            DateTime date2 = DateTime.FromBinary(binLocal);
  
            // Display the date1
            System.Console.WriteLine("DateTime before "
                     + "operation: {0:y} {0:dd}",date1);
                                       
  
            // Display the date2
            System.Console.WriteLine("\nDateTime after"
                  + " operation: {0:y} {0:dd}", date2);
                                       
        }
  
        catch (ArgumentOutOfRangeException e) {
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}

输出:

DateTime before operation: 2010 January 01

DateTime after operation: 2010 January 01

示例2:对于ArgumentOutOfRangeException

// C# program to demonstrate the
// DateTime.FromBinary() Method
using System;
using System.Globalization;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
  
            // converting 64-bit into DateTime format
            // using FromBinary() method
            DateTime date = DateTime.FromBinary(-100000000000000000);
  
            // Display the date
            System.Console.WriteLine("\nDateTime: + {0:y} {0:dd} ", date);
        }
  
        catch (ArgumentException e) 
        {
            Console.WriteLine("The resulting dateData"
                     + " is less than the MinValue ");
  
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}

输出:

The resulting dateData is less than the MinValue 
Exception Thrown: System.ArgumentException

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.datetime.frombinary?view=netframework-4.7.2