using System;
using System.Collections.Generic;
using System.Text;
namespace Safedispatch_4_0
{
public class ConvertDT
{
private System.DateTime dateTime;
///
/// This is the class constructor
///
public ConvertDT()
{
}
///
/// This method makes the conversion from Unix time to a DateTime object
/// and returns a DateTime object
///
/// the Unix time
/// The method returns a DateTime object
public System.DateTime GetDTFromSeconds(Int32 param)
{
dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);
dateTime = dateTime.AddSeconds((double)param);
return dateTime;
}
///
/// This method converts a DateTime object into the corresponding
/// Unix time (number of seconds from 1970/01/01) - attention, does not make
/// any conversion to GMT time
///
/// the DateTime object to be converted
/// the corresponding Unix time, as a uint number
public Int32 GetSecondsFromDT(DateTime param)
{
System.DateTime datetime = param;
Int32 nOfSeconds;
System.DateTime dt70 = new DateTime(1970, 1, 1, 0, 0, 0, 0);
TimeSpan span = datetime - dt70;
nOfSeconds = (Int32)span.TotalSeconds;
return nOfSeconds;
}
public Int32 GetSecondsLocalFromDT(DateTime param)
{
System.DateTime datetime = param;
long nOfSeconds;
System.DateTime dt70 = new DateTime(1970, 1, 1, 0, 0, 0, 0);
System.DateTime dttmp1 = new DateTime(1970, 1, 1, 0, 0, 0, 0);
System.DateTime dttmp2;
dttmp2 = dttmp1.ToLocalTime();
TimeSpan span2 = dttmp2 - dttmp1;
TimeSpan span = datetime - dt70;
//nOfSeconds = (long)span.TotalSeconds - (long)span2.TotalSeconds -3600; //mai scot o ora - 3600
if (System.TimeZone.CurrentTimeZone.IsDaylightSavingTime(param)) nOfSeconds = (long)span.TotalSeconds - (long)span2.TotalSeconds - 3600; //mai scot o ora - 3600
else nOfSeconds = (long)span.TotalSeconds - (long)span2.TotalSeconds;
return ((Int32)nOfSeconds);
}
///
/// This method makes the conversion from GMT Unix time to a DateTime object
/// and returns local time as a DateTime object
///
/// the Unix time
/// The method returns a DateTime object
public System.DateTime GetDTLocalFromSeconds(Int32 param)
{
dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);
dateTime = dateTime.AddSeconds((double)param);
dateTime = dateTime.ToLocalTime();
return dateTime;
}
///
/// This method makes the conversion from local Unix time to a DateTime object
/// and returns GMT time as a DateTime object
///
/// the Unix time
/// The method returns a DateTime object
public System.DateTime GetDTGMTFromSeconds(Int32 param)
{
dateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);
dateTime = dateTime.AddSeconds((double)param);
dateTime = dateTime.ToUniversalTime();
return dateTime;
}
///
/// This method converts from local time to GMT
///
/// local time, as UNIX time
/// GMT time, as UNIX time
public Int32 ConvertLocalToGMT(Int32 param)
{
DateTime time = this.GetDTFromSeconds(param);
DateTime GMTTime = time.ToUniversalTime();
TimeSpan span = GMTTime - time;
Int32 nOfSeconds = (Int32)span.TotalSeconds;
return (Int32)(nOfSeconds + param);
}
///
/// This method converts from GMT to local time
///
/// GMT as UNIX time
/// local time, as UNIX time
public Int32 ConvertGMTToLocal(Int32 param)
{
DateTime time = this.GetDTFromSeconds(param);
DateTime GMTTime = time.ToUniversalTime();
TimeSpan span = time - GMTTime;
long nOfSeconds = (long)span.TotalSeconds;
return (Int32)(nOfSeconds + param);
}
///
/// This method converts an integer, representing the number of seconds
/// from 00:00 to the current time of the day, to the corresponding String
///
/// the number of seconds
/// the String in hh:mm format
public String GetTimeFromSeconds(Int32 param)
{
String hours, minutes;
Int32 hoursInt, minutesInt;
hoursInt = param / 3600;
minutesInt = (param - (hoursInt * 3600)) / 60;
hours = Convert.ToString(hoursInt);
minutes = Convert.ToString(minutesInt);
if (hours.Length == 1)
hours = "0" + hours;
if (minutes.Length == 1)
minutes = "0" + minutes;
return (Convert.ToString(hours) + ":" + Convert.ToString(minutes));
}
///
/// Returns just the time of day from the parameter, removing all other info
///
/// unix time
/// Time of day
public String TimeOfDay(Int32 param)
{
String toReturn = "";
DateTime tempObj = this.GetDTFromSeconds(param);
if (tempObj.Hour >= 10)
toReturn = toReturn + tempObj.Hour.ToString() + ":";
else
toReturn = toReturn + "0" + tempObj.Hour.ToString() + ":";
if (tempObj.Minute >= 10)
toReturn = toReturn + tempObj.Minute.ToString() + ":";
else
toReturn = toReturn + "0" + tempObj.Minute.ToString() + ":";
if (tempObj.Second >= 10)
toReturn = toReturn + tempObj.Second.ToString() + ":";
else
toReturn = toReturn + "0" + tempObj.Second.ToString();
return toReturn;
}
public String TimeOfDayHHMMLocal(Int32 param)
{
Int32 ParamLoc;
ParamLoc = ConvertGMTToLocal(param);
String toReturn = "";
DateTime tempObj = this.GetDTFromSeconds(ParamLoc);
if (tempObj.Hour >= 10)
toReturn = toReturn + tempObj.Hour.ToString() + ":";
else
toReturn = toReturn + "0" + tempObj.Hour.ToString() + ":";
if (tempObj.Minute >= 10)
toReturn = toReturn + tempObj.Minute.ToString();
else
toReturn = toReturn + "0" + tempObj.Minute.ToString();
return toReturn;
}
public String TimeOfDayHHMMLocal(Int32 param, Boolean AMPMtype)
{
Int32 ParamLoc;
ParamLoc = ConvertGMTToLocal(param);
String toReturn = "";
DateTime tempObj = this.GetDTFromSeconds(ParamLoc);
Int32 hourX = tempObj.Hour;
String Endis = "AM";
if (AMPMtype)
{
if (hourX>12)
{
hourX=hourX-12;
if (hourX<0) hourX =12;
Endis = "PM";
}
}
if (hourX >= 10)
toReturn = toReturn + hourX.ToString() + ":";
else
toReturn = toReturn + "0" + hourX.ToString() + ":";
if (tempObj.Minute >= 10)
toReturn = toReturn + tempObj.Minute.ToString();
else
toReturn = toReturn + "0" + tempObj.Minute.ToString();
if (AMPMtype) toReturn = toReturn + " " + Endis;
return toReturn;
}
public String TimeOfDayHHMMSSLocal(Int32 param, Boolean AMPMtype)
{
Int32 ParamLoc;
ParamLoc = ConvertGMTToLocal(param);
String toReturn = "";
DateTime tempObj = this.GetDTFromSeconds(ParamLoc);
Int32 hourX = tempObj.Hour;
String Endis = "AM";
if (AMPMtype)
{
if (hourX > 12)
{
hourX = hourX - 12;
if (hourX < 0) hourX = 12;
Endis = "PM";
}
}
if (hourX >= 10)
toReturn = toReturn + hourX.ToString() + ":";
else
toReturn = toReturn + "0" + hourX.ToString() + ":";
if (tempObj.Minute >= 10)
toReturn = toReturn + tempObj.Minute.ToString() + ":";
else
toReturn = toReturn + "0" + tempObj.Minute.ToString() + ":";
if (tempObj.Second >= 10)
toReturn = toReturn + tempObj.Second.ToString();
else
toReturn = toReturn + "0" + tempObj.Second.ToString();
if (AMPMtype) toReturn = toReturn + " " + Endis;
return toReturn;
}
public String DateTimeOfDayHHMMLocal(Int32 param)
{
Int32 ParamLoc;
ParamLoc = ConvertGMTToLocal(param);
String toReturn = "";
DateTime tempObj = this.GetDTFromSeconds(ParamLoc);
if (tempObj.Hour >= 10)
toReturn = toReturn + tempObj.Hour.ToString() + ":";
else
toReturn = toReturn + "0" + tempObj.Hour.ToString() + ":";
if (tempObj.Minute >= 10)
toReturn = toReturn + tempObj.Minute.ToString();
else
toReturn = toReturn + "0" + tempObj.Minute.ToString();
//toReturn = tempObj.Month +"//"+tempObj.Day +"//"+tempObj.Year+" "+toReturn;
toReturn = Convert.ToString(tempObj);
//toReturn = "fane " + toReturn;
return toReturn;
}
public String TimeOfDayHHMMDateTime(TimeSpan param)
{
String toReturn = "";
if (param.Hours >= 10)
toReturn = toReturn + param.Hours.ToString() + ":";
else
toReturn = toReturn + "0" + param.Hours.ToString() + ":";
if (param.Minutes >= 10)
toReturn = toReturn + param.Minutes.ToString();
else
toReturn = toReturn + "0" + param.Minutes.ToString();
return toReturn;
}
public String DatePickerToDateHHMM(DateTime Data)
{
String toReturn = "";
toReturn = toReturn + System.Convert.ToString(Data.Date.ToShortDateString()) + " ";
if (Data.TimeOfDay.Hours >= 10)
toReturn = toReturn + Data.TimeOfDay.Hours.ToString() + ":";
else
toReturn = toReturn + "0" + Data.TimeOfDay.Hours.ToString() + ":";
if (Data.TimeOfDay.Minutes >= 10)
toReturn = toReturn + Data.TimeOfDay.Minutes.ToString();
else
toReturn = toReturn + "0" + Data.TimeOfDay.Minutes.ToString();
return toReturn;
}
}
}