Serialization support for DateTimeOffset.
This commit is contained in:
parent
3fd844cfa0
commit
26899493c0
2 changed files with 40 additions and 0 deletions
|
|
@ -38,6 +38,7 @@ namespace Server
|
|||
|
||||
public abstract string ReadString();
|
||||
public abstract DateTime ReadDateTime();
|
||||
public abstract DateTimeOffset ReadDateTimeOffset();
|
||||
public abstract TimeSpan ReadTimeSpan();
|
||||
public abstract DateTime ReadDeltaTime();
|
||||
public abstract decimal ReadDecimal();
|
||||
|
|
@ -98,6 +99,7 @@ namespace Server
|
|||
|
||||
public abstract void Write( string value );
|
||||
public abstract void Write( DateTime value );
|
||||
public abstract void Write( DateTimeOffset value );
|
||||
public abstract void Write( TimeSpan value );
|
||||
public abstract void Write( decimal value );
|
||||
public abstract void Write( long value );
|
||||
|
|
@ -337,6 +339,12 @@ namespace Server
|
|||
Write( value.Ticks );
|
||||
}
|
||||
|
||||
public override void Write( DateTimeOffset value )
|
||||
{
|
||||
Write( value.Ticks );
|
||||
Write( value.Offset.Ticks );
|
||||
}
|
||||
|
||||
public override void WriteDeltaTime( DateTime value )
|
||||
{
|
||||
long ticks = value.Ticks;
|
||||
|
|
@ -870,6 +878,14 @@ namespace Server
|
|||
return new DateTime( m_File.ReadInt64() );
|
||||
}
|
||||
|
||||
public override DateTimeOffset ReadDateTimeOffset()
|
||||
{
|
||||
long ticks = m_File.ReadInt64();
|
||||
TimeSpan offset = new TimeSpan( m_File.ReadInt64() );
|
||||
|
||||
return new DateTimeOffset( ticks, offset );
|
||||
}
|
||||
|
||||
public override TimeSpan ReadTimeSpan()
|
||||
{
|
||||
return new TimeSpan( m_File.ReadInt64() );
|
||||
|
|
@ -1318,6 +1334,13 @@ namespace Server
|
|||
OnWrite();
|
||||
}
|
||||
|
||||
public override void Write( DateTimeOffset value )
|
||||
{
|
||||
m_Bin.Write( value.Ticks );
|
||||
m_Bin.Write( value.Offset.Ticks );
|
||||
OnWrite();
|
||||
}
|
||||
|
||||
public override void Write( TimeSpan value )
|
||||
{
|
||||
m_Bin.Write( value.Ticks );
|
||||
|
|
|
|||
|
|
@ -555,6 +555,23 @@ namespace Server
|
|||
}
|
||||
}
|
||||
|
||||
public static DateTimeOffset GetXMLDateTimeOffset( string dateTimeOffsetString, DateTimeOffset defaultValue )
|
||||
{
|
||||
try
|
||||
{
|
||||
return XmlConvert.ToDateTimeOffset( dateTimeOffsetString );
|
||||
}
|
||||
catch
|
||||
{
|
||||
DateTimeOffset d;
|
||||
|
||||
if( DateTimeOffset.TryParse( dateTimeOffsetString, out d ) )
|
||||
return d;
|
||||
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
public static TimeSpan GetXMLTimeSpan( string timeSpanString, TimeSpan defaultValue )
|
||||
{
|
||||
try
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue