⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 date.hpp

📁 ncbi源码
💻 HPP
字号:
/* * =========================================================================== * PRODUCTION $Log: Date.hpp,v $ * PRODUCTION Revision 1000.0  2003/10/29 21:00:42  gouriano * PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.9 * PRODUCTION * =========================================================================== *//* $Id: Date.hpp,v 1000.0 2003/10/29 21:00:42 gouriano Exp $ * =========================================================================== * *                            PUBLIC DOMAIN NOTICE *               National Center for Biotechnology Information * *  This software/database is a "United States Government Work" under the *  terms of the United States Copyright Act.  It was written as part of *  the author's official duties as a United States Government employee and *  thus cannot be copyrighted.  This software/database is freely available *  to the public for use. The National Library of Medicine and the U.S. *  Government have not placed any restriction on its use or reproduction. * *  Although all reasonable efforts have been taken to ensure the accuracy *  and reliability of the software and data, the NLM and the U.S. *  Government do not and cannot warrant the performance or results that *  may be obtained by using this software or data. The NLM and the U.S. *  Government disclaim all warranties, express or implied, including *  warranties of performance, merchantability or fitness for any particular *  purpose. * *  Please cite the author in any work or product based on this material. * * =========================================================================== * * Author:  Aaron Ucko, NCBI * * File Description: *   Useful member functions for dates: comparison and formatting * * Remark: *   This code was originally generated by application DATATOOL *   using specifications from the ASN data definition file *   'general.asn'. */#ifndef OBJECTS_GENERAL_DATE_HPP#define OBJECTS_GENERAL_DATE_HPP// generated includes#include <objects/general/Date_.hpp>#include <corelib/ncbitime.hpp>// generated classesBEGIN_NCBI_SCOPEBEGIN_objects_SCOPE // namespace ncbi::objects::class NCBI_GENERAL_EXPORT CDate : public CDate_Base{    typedef CDate_Base Tparent;public:    // for conversion from CTime    enum EPrecision {        ePrecision_day,        ePrecision_second    };    // constructors; the latter two make Date-stds    CDate(void);    CDate(const CTime& time, EPrecision prec = ePrecision_second);    explicit CDate(time_t time, EPrecision prec = ePrecision_second);    // destructor    ~CDate(void);    void  SetToTime(const CTime& time, EPrecision prec = ePrecision_second);    CTime AsCTime  (CTime::ETimeZone tz = CTime::eLocal) const;    enum ECompare {        eCompare_before = -1,        eCompare_same,        eCompare_after,        eCompare_unknown    };    ECompare Compare(const CDate& date) const;        // Appends a date as a string to label. If internally, the date    // is a string, the string is just returned. If internally the date    // is a CDate_std and year_only is false, then the date is returned     // as mm-dd-yyyy if possible else, just year is returned    void GetDate(string* label, bool year_only = false) const;    // Format controls the treatment of Date-std.  (Strings    // necessarily remain as is.)  Specifically,    // %Y -> year    // %M -> month as number    // %N -> month as (English) word    // %D -> day    // %S -> season    // %h -> hour    // %m -> minute    // %s -> second    // Each of the above can contain a number immediately following the    // percent sign, indicating the number of characters to yield.    //     // In addition, there are special directives to deal with optional    // elements: %{ ... %} (which may be nested) may be used to    // delimit subsequences that should vanish altogether if optional    // elements they contain are missing, and %| may be used to    // designate fallbacks.  (For instance, the above interface    // defaults to a format of "%{%2M-%2D-%}%Y, and one might format    // dates for GenBank with "%{%{%2D%|01%}-%3N%|01-JAN%}-%Y" if one    // wanted to fudge legal values if necessary.)    //    // Finally, %% -> %.    void GetDate(string* label, const string& format) const;    void GetDate(string* label, const char*   format) const;private:    // Prohibit copy constructor and assignment operator    CDate(const CDate& value);    CDate& operator=(const CDate& value);};/////////////////// CDate inline methods// constructorsinlineCDate::CDate(void){}inline CDate::CDate(const CTime& time, CDate::EPrecision prec){    SetToTime(time, prec);}inline CDate::CDate(time_t time, CDate::EPrecision prec){    SetToTime(CTime(time), prec);}// old version of GetDateinlinevoid CDate::GetDate(string* label, bool year_only) const{    GetDate(label, year_only ? "%Y" : "%{%2M-%2D-%}%Y");}// Make sure that stupid compilers don't try to cast char* to bool....inlinevoid CDate::GetDate(string* label, const char* format) const{    GetDate(label, string(format));}/////////////////// end of CDate inline methodsEND_objects_SCOPE // namespace ncbi::objects::END_NCBI_SCOPE/* * =========================================================================== * * $Log: Date.hpp,v $ * Revision 1000.0  2003/10/29 21:00:42  gouriano * PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.9 * * Revision 1.9  2003/02/10 21:55:43  ucko * Make time_t-based ctors explicit, and explicitly construct temporary CTimes. * * Revision 1.8  2002/12/26 12:40:33  dicuccio * Added Win32 export specifiers * * Revision 1.7  2002/12/09 17:30:10  ucko * Rename Assign to SetToTime to avoid shadowing CSerialObject; propagate tz * * Revision 1.6  2002/12/06 20:03:15  ucko * Support conversion to/from CTime and from time_t * * Revision 1.5  2002/10/08 20:24:34  ucko * Add explicit wrapper around new version of GetDate to avoid trouble from * compilers that would rather convert const char* to bool than to string. * * Revision 1.4  2002/10/04 17:32:45  ucko * Drop spurious "return" from GetDate wrapper. * * Revision 1.3  2002/10/04 14:45:07  ucko * Add a generic date formatter with flexible support for missing fields. * * Revision 1.2  2002/01/10 19:46:44  clausen * Added GetDate * * Revision 1.1  2001/11/16 20:54:50  ucko * Added comparison for dates. * * =========================================================================== */#endif // OBJECTS_GENERAL_DATE_HPP/* Original file checksum: lines: 90, chars: 2320, CRC32: 5affaceb */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -