99 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
/*********************************************************************************************
 | 
						|
 * Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
 | 
						|
 * Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
 | 
						|
 * ------------------------------------------------------------------------------
 | 
						|
 * $Workfile: VEdt.cs $     $Revision: 1 $
 | 
						|
 * $Author: Kathy $   $Date: 7/27/04 8:35a $
 | 
						|
 *
 | 
						|
 * $History: VEdt.cs $
 | 
						|
 * 
 | 
						|
 * *****************  Version 1  *****************
 | 
						|
 * User: Kathy        Date: 7/27/04    Time: 8:35a
 | 
						|
 * Created in $/LibSource/Utils
 | 
						|
 *********************************************************************************************/
 | 
						|
 | 
						|
using System;
 | 
						|
 | 
						|
namespace Utils
 | 
						|
{
 | 
						|
	/// <summary>
 | 
						|
	/// Summary description for VEdt.
 | 
						|
	/// </summary>
 | 
						|
	public class VEDateTime
 | 
						|
	{
 | 
						|
		public DateTime dt;
 | 
						|
		public string dtstr;
 | 
						|
 | 
						|
		public VEDateTime(long tm)
 | 
						|
		{ 
 | 
						|
			System.Globalization.CultureInfo info =
 | 
						|
				new System.Globalization.CultureInfo("en-US", false);
 | 
						|
 | 
						|
			System.Globalization.Calendar calendar = info.Calendar;
 | 
						|
    
 | 
						|
		
 | 
						|
			// do some conversion so that proms will be able to use this
 | 
						|
			// date/time. Proms had it in seconds since 00:00:00 1/1/1970.
 | 
						|
			// .NET has it in ticks since 00:00:00 1/1/1
 | 
						|
			DateTime promsdt = new DateTime(1970,1,1,0,0,0,0); // Jan 1, 1970
 | 
						|
			
 | 
						|
			//
 | 
						|
			// Get the offset time between this time zone and UTC (GMT) time.
 | 
						|
			// Convert the offset to seconds.
 | 
						|
			// Subtract the offset from the UTC time gotten for Jan 1, 1970
 | 
						|
			ThisTimeZone TZ = new ThisTimeZone();
 | 
						|
			TimeSpan TimeZoneSpan = TZ.GetUtcOffset(promsdt); // Time Zone offset from UTC
 | 
						|
			long TimeZoneAdj = Math.Abs(TimeZoneSpan.Ticks / 10000000); // convert to seconds
 | 
						|
			DateTime cnv = promsdt.AddSeconds(tm-TimeZoneAdj);
 | 
						|
			dtstr = cnv.ToLongDateString() + "  " + cnv.ToLongTimeString();
 | 
						|
		}
 | 
						|
	}
 | 
						|
	/*
 | 
						|
	 * TimeZone is an Abstract Class.  You need to inherit the TimeZone Class
 | 
						|
	 * and overload a couple of it's functions in order to use it.
 | 
						|
	 * - called in CalculatePromsDate() above.
 | 
						|
	 */ 
 | 
						|
	public class ThisTimeZone : TimeZone
 | 
						|
	{
 | 
						|
		private TimeZone curTZ;
 | 
						|
		public TimeSpan SpanTZ;
 | 
						|
 | 
						|
		public ThisTimeZone()
 | 
						|
		{
 | 
						|
			curTZ = CurrentTimeZone;  // local timezone
 | 
						|
		}
 | 
						|
 | 
						|
		// get the UTC (GMT) value for the given date/time
 | 
						|
		public override TimeSpan GetUtcOffset(DateTime ForThisDate)
 | 
						|
		{
 | 
						|
			SpanTZ = curTZ.GetUtcOffset(ForThisDate); 
 | 
						|
			return SpanTZ;
 | 
						|
		}
 | 
						|
 | 
						|
		// Name of the local Daylight savings time zone
 | 
						|
		public override string DaylightName
 | 
						|
		{
 | 
						|
			get
 | 
						|
			{
 | 
						|
				return curTZ.DaylightName;
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		// Name of the local standard time zone
 | 
						|
		public override string StandardName
 | 
						|
		{
 | 
						|
			get
 | 
						|
			{
 | 
						|
				return curTZ.StandardName;
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		// Get the start and end dates for daylight savings
 | 
						|
		public override System.Globalization.DaylightTime GetDaylightChanges(int year)
 | 
						|
		{
 | 
						|
			return curTZ.GetDaylightChanges(year);
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 | 
						|
 |