timelocal-posix.cpp revision c73f7d585a4e0a070e4c43b86d159887334364a4
/* $Id $ */
/** @file
* InnoTek Portable Runtime - Local Time, Posix.
*/
/*
* Copyright (C) 2006 InnoTek Systemberatung GmbH
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License as published by the Free Software Foundation,
* in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
* distribution. VirtualBox OSE is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY of any kind.
*
* If you received this file as part of a commercial VirtualBox
* distribution, then only the terms of your commercial VirtualBox
* license agreement apply instead of the previous paragraph.
*/
/*******************************************************************************
* Header Files *
*******************************************************************************/
#define LOG_GROUP RTLOGGROUP_TIME
#define RTTIME_INCL_TIMEVAL
#include <time.h>
/**
* This tries to find the UTC offset for a given timespec.
*
* It does probably not take into account changes in daylight
* saving over the years or similar stuff.
*
* @returns UTC offset in nanoseconds.
* @param pTime The time.
* @param fCurrentTime Whether the input is current time or not.
* This is for avoid infinit recursion on errors in the fallback path.
*/
{
/*
* Convert to time_t.
*/
if (UnixTime != i64UnixTime)
/*
* Explode it as both local and uct time.
*/
/*
* Calc the difference (if any).
* We ASSUME that the difference is less that 24 hours.
*/
return 0;
{
else
}
}
/**
* Gets the delta between UTC and local time.
*
* @code
* RTTIMESPEC LocalTime;
* RTTimeSpecAddNano(RTTimeNow(&LocalTime), RTTimeLocalDeltaNano());
* @endcode
*
* @returns Returns the nanosecond delta between UTC and local time.
*/
{
}
/**
* Explodes a time spec to the localized timezone.
*
* @returns pTime.
* @param pTime Where to store the exploded time.
* @param pTimeSpec The time spec to exploded. (UTC)
*/
{
RTTimeSpecAddNano(&LocalTime, rtTimeLocalUTCOffset(&LocalTime, true /* current time, skip fallback */));
if (pTime)
return pTime;
}