DateTime.FromBinary(Int64)方法用于反序列化64位二进制值,并重新创建原始的序列化DateTime对象。
Syntax: public static DateTime FromBinary (long dateData);
Here, it takes a 64-bit signed integer that encodes the Kind property in a 2-bit field and the Ticks property in a 62-bit field.
Return Value: This method returns an object that is equivalent to the DateTime object that was serialized by the ToBinary() method.
Exception: This method will give ArgumentException if the dateData is less than MinValue or greater than MaxValue.
下面的程序说明了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