X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=include%2Fanna%2Fdbms%2FTimeStamp.hpp;fp=include%2Fanna%2Fdbms%2FTimeStamp.hpp;h=0000000000000000000000000000000000000000;hb=a3b95648bd76140ef55e0b5941d423eee6c3856f;hp=9f53aea3cb4bd7f2d095d6fd544a457fecb4de4f;hpb=94fc4366adedbf26ca6ef3104f88d41fa85f5a72;p=anna.git diff --git a/include/anna/dbms/TimeStamp.hpp b/include/anna/dbms/TimeStamp.hpp deleted file mode 100644 index 9f53aea..0000000 --- a/include/anna/dbms/TimeStamp.hpp +++ /dev/null @@ -1,188 +0,0 @@ -// ANNA - Anna is Not Nothingness Anymore // -// // -// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo // -// // -// See project site at http://redmine.teslayout.com/projects/anna-suite // -// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE // - - -#ifndef anna_dbms_TimeStamp_hpp -#define anna_dbms_TimeStamp_hpp - -#include - -namespace anna { - -namespace dbms { - -/** - Tipo de datos que permite trabajar con el tipo de dato 'TimeStamp' de un gestor de base de - datos generico. - - El tipo de dato TimeStamp contiene la información suficiente para representar una fecha - incluyendo la hora del día. -*/ -class TimeStamp : public Date { -public: - /** - Constructor. - \param isNulleable Indica si el dato puede tomar valores nulos. - \param format Formato usado para interpretar los datos de esta fecha, en los metodos Date::getCStringValue y - Date::setValue (const char*) y Date::setValue (const std::string&). Sigue la especificacion: - - \code - %a Replaced by the localeâs abbreviated weekday name. [ tm_wday] - - %A Replaced by the localeâs full weekday name. [ tm_wday] - - %b Replaced by the localeâs abbreviated month name. [ tm_mon] - - %B Replaced by the localeâs full month name. [ tm_mon] - - %c Replaced by the locale's appropriate date and time representation. (See the Base Definitions volume of - IEEE Std 1003.1-2001, .) - - %C Replaced by the year divided by 100 and truncated to an integer, as a decimal number [00,99]. [ tm_year] - - %d Replaced by the day of the month as a decimal number [01,31]. [ tm_mday] - - %D Equivalent to %m / %d / %y . [ tm_mon, tm_mday, tm_year] - - %e Replaced by the day of the month as a decimal number [1,31]; a single digit is preceded by a space. [ - tm_mday] - - %F Equivalent to %Y - %m - %d (the ISO 8601:2000 standard date format). [ tm_year, tm_mon, tm_mday] - - %g Replaced by the last 2 digits of the week-based year (see below) as a decimal number [00,99]. [ tm_year, - tm_wday, tm_yday] - - %G Replaced by the week-based year (see below) as a decimal number (for example, 1977). [ tm_year, tm_wday, - tm_yday] - - %h Equivalent to %b . [ tm_mon] - - %H Replaced by the hour (24-hour clock) as a decimal number [00,23]. [ tm_hour] - - %I Replaced by the hour (12-hour clock) as a decimal number [01,12]. [ tm_hour] - - %j Replaced by the day of the year as a decimal number [001,366]. [ tm_yday] - - %m Replaced by the month as a decimal number [01,12]. [ tm_mon] - - %M Replaced by the minute as a decimal number [00,59]. [ tm_min] - - %n Replaced by a . - - %p Replaced by the locale's equivalent of either a.m. or p.m. [ tm_hour] - - %r Replaced by the time in a.m. and p.m. notation; in the POSIX locale this shall be equivalent to %I : %M - : %S %p . [ tm_hour, tm_min, tm_sec] - - %R Replaced by the time in 24-hour notation ( %H : %M ). [ tm_hour, tm_min] - - %S Replaced by the second as a decimal number [00,60]. [ tm_sec] - - %t Replaced by a . - - %T Replaced by the time ( %H : %M : %S ). [ tm_hour, tm_min, tm_sec] - - %u Replaced by the weekday as a decimal number [1,7], with 1 representing Monday. [ tm_wday] - - %U Replaced by the week number of the year as a decimal number [00,53]. The first Sunday of January is the - first day of week 1; days in the new year before this are in week 0. [ tm_year, tm_wday, tm_yday] - - %V Replaced by the week number of the year (Monday as the first day of the week) as a decimal number [01,53]. - If the week containing 1 January has four or more days in the new year, then it is considered week 1. Oth- - erwise, it is the last week of the previous year, and the next week is week 1. Both January 4th and the - first Thursday of January are always in week 1. [ tm_year, tm_wday, tm_yday] - - %w Replaced by the weekday as a decimal number [0,6], with 0 representing Sunday. [ tm_wday] - - %W Replaced by the week number of the year as a decimal number [00,53]. The first Monday of January is the - first day of week 1; days in the new year before this are in week 0. [ tm_year, tm_wday, tm_yday] - - %x Replaced by the locale's appropriate date representation. (See the Base Definitions volume of - IEEE Std 1003.1-2001, .) - - %X Replaced by the locale's appropriate time representation. (See the Base Definitions volume of - IEEE Std 1003.1-2001, .) - - %y Replaced by the last two digits of the year as a decimal number [00,99]. [ tm_year] - - %Y Replaced by the year as a decimal number (for example, 1997). [ tm_year] - - %z Replaced by the offset from UTC in the ISO 8601:2000 standard format ( +hhmm or -hhmm ), or by no charac- - ters if no timezone is determinable. For example, "-0430" means 4 hours 30 minutes behind UTC (west of - Greenwich). If tm_isdst is zero, the standard time offset is used. If tm_isdst is greater than zero, the - daylight savings time offset is used. If tm_isdst is negative, no characters are returned. [ tm_isdst] - - %Z Replaced by the timezone name or abbreviation, or by no bytes if no timezone information exists. [ - tm_isdst] - - %% Replaced by % . - \endcode - - Para obtener más informacion sobre la espeficacion de formato \em man \em strftime (p.e.). - - Para poder obtener la parte fraccionaria en la salida del metodo #getCStringValue hay que indicar el literal \em %%d. Por ejemplo: - - \code - TimeStamp oneTime (false, "%T.%%d") - \endcode - */ - explicit TimeStamp(const bool isNulleable = false, const char* format = NULL) : - Date(Data::Type::TimeStamp, isNulleable, format), - a_fractionalSecond(0) - {;} - - /** - * Devuelve la parte fraccionaria de los segundos asociados a este objeto. - * \return La parte fraccionaria de los segundos asociados a este objeto. - */ - int getFractionalSecond() const throw() { return a_fractionalSecond; } - - /** - * Establece la parte fraccionaria de los segundos de este objeto. - * \param fsec Parte fraccionaria de los segundos. - */ - void setFractionalSecond(const int fsec) throw() { a_fractionalSecond = fsec; } - - /** - * Interpreta el contenido de la fecha y lo transfiere al buffer. - * \return El buffer que contiene esta fecha interpretada con el formato indicado en el contructor. - * \warning El resultado sera NULL en caso de no poder interpretar correctamente la fecha. - */ - virtual const char* getCStringValue() const throw(); - - /** - Operador de copia. - \param timeStamp Fecha de la que copiar. - \return La instancia de esta fecha. - \warning Solo copia el contenido de la fecha recibida, no cambia el formato de interpretacion de la fecha origen. - */ - TimeStamp& operator = (const TimeStamp& timeStamp) throw(RuntimeException) { - Date::operator= (timeStamp); - a_fractionalSecond = timeStamp.a_fractionalSecond; - return *this; - } - - /** - Operador de copia. - \param date Fecha de la que copiar. - \return La instancia de esta fecha. - \warning Solo copia el contenido de la fecha recibida, no cambia el formato de interpretacion de la fecha origen. - */ - TimeStamp& operator = (const Date& date) throw(RuntimeException) { Date::operator= (date); a_fractionalSecond = 0; return *this; } - -private: - char a_anotherBuffer [MaxDateSize + 1]; - int a_fractionalSecond; - - void do_clear() throw() { a_fractionalSecond = 0; a_anotherBuffer [0] = 0; } -}; - -} -} - -#endif -