Data time

Solo disponible en BuenasTareas
  • Páginas : 5 (1208 palabras )
  • Descarga(s) : 0
  • Publicado : 24 de noviembre de 2010
Leer documento completo
Vista previa del texto
Date Time
El tipo de valor de DateTime representa fechas y horas cuyos valores están comprendidos entre la medianoche (00:00:00) del 1 de enero de 0001 d.C. (Era Cristiana) y las 23:59:59 del 31 de diciembre de 9999 d.C. (Era Cristiana).
Los valores de hora se miden en unidades de 100 nanosegundos denominadas pasos, y una fecha concreta es el número de pasos transcurridos desde la medianoche(00:00) del 1 de enero de 0001 d.C. (Era Cristiana) en el calendario GregorianCalendar. Por ejemplo, un valor en pasos de 31241376000000000L representa la fecha de viernes, 1 de enero de 0100 a las 12:00:00 de la noche. Un valor DateTime siempre se expresa en el contexto de un calendario explícito o predeterminado.
Valores de DateTime
Las descripciones de los valores de hora del tipo DateTime sesuelen expresar utilizando el estándar de hora universal coordinada (UTC), que es el nombre con el que se conoce internacionalmente a la hora media de Greenwich (GMT). La hora universal coordinada es la hora que se mide en la longitud cero grados, punto de origen de UTC. El horario de verano no se aplica a UTC.
La hora local está relacionada con una zona horaria determinada. Una zona horaria seasocia a un desplazamiento de zona horaria, que es la diferencia medida en horas entre la zona horaria y el punto de origen de UTC. Además, a la hora local le afecta opcionalmente el horario de verano, que agrega o resta una hora a la duración del día. Por consiguiente, la hora local se calcula agregando el desplazamiento de zona horaria a la hora UTC y haciendo los ajustes oportunos por el horariode verano, en caso necesario. El desplazamiento de zona horaria en el punto de origen de UTC es cero.
La hora UTC es adecuada para los cálculos, las comparaciones y el almacenamiento de fechas y horas en los archivos. La hora local es apropiada para la presentación en las interfaces de usuario.
Si la propiedad Kind de un objeto DateTime es Unspecified, no queda especificado si la horarepresentada es hora local u hora UTC. Cada miembro de DateTime trata la hora no especificada del modo que le resulta más adecuado.
class DateTimeTester {

static bool RoughlyEquals(DateTime time, DateTime timeWithWindow, int windowInSeconds, int frequencyInSeconds)
{

long delta =(long)((TimeSpan)(timeWithWindow - time)).TotalSeconds % frequencyInSeconds;

delta = delta > windowInSeconds ? frequencyInSeconds - delta : delta;

return Math.Abs(delta) < windowInSeconds;

}

public static void Main(){
int window = 10;
int freq = 60 * 60 * 2; // 2 hours;

DateTime d1 = DateTime.Now;

DateTime d2 = d1.AddSeconds(2 * window);
DateTime d3 = d1.AddSeconds(-2 * window);
DateTimed4 = d1.AddSeconds(window / 2);
DateTime d5 = d1.AddSeconds(-window / 2);

DateTime d6 = (d1.AddHours(2)).AddSeconds(2 * window);
DateTime d7 = (d1.AddHours(2)).AddSeconds(-2 * window);
DateTime d8 = (d1.AddHours(2)).AddSeconds(window / 2);DateTime d9 = (d1.AddHours(2)).AddSeconds(-window / 2);

Console.WriteLine("d1 ~= d1 [true]: " + RoughlyEquals(d1, d1, window, freq));
Console.WriteLine("d1 ~= d2 [false]: " + RoughlyEquals(d1, d2, window, freq));
Console.WriteLine("d1 ~= d3 [false]: " + RoughlyEquals(d1, d3, window, freq));...
tracking img