1
// -*- mode: C++; tab-width: 2; -*-
4
// --------------------------------------------------------------------------
5
// OpenMS Mass Spectrometry Framework
6
// --------------------------------------------------------------------------
7
// Copyright (C) 2003-2011 -- Oliver Kohlbacher, Knut Reinert
9
// This library is free software; you can redistribute it and/or
10
// modify it under the terms of the GNU Lesser General Public
11
// License as published by the Free Software Foundation; either
12
// version 2.1 of the License, or (at your option) any later version.
14
// This library is distributed in the hope that it will be useful,
15
// but WITHOUT ANY WARRANTY; without even the implied warranty of
16
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
// Lesser General Public License for more details.
19
// You should have received a copy of the GNU Lesser General Public
20
// License along with this library; if not, write to the Free Software
21
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
1
// --------------------------------------------------------------------------
2
// OpenMS -- Open-Source Mass Spectrometry
3
// --------------------------------------------------------------------------
4
// Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5
// ETH Zurich, and Freie Universitaet Berlin 2002-2013.
7
// This software is released under a three-clause BSD license:
8
// * Redistributions of source code must retain the above copyright
9
// notice, this list of conditions and the following disclaimer.
10
// * Redistributions in binary form must reproduce the above copyright
11
// notice, this list of conditions and the following disclaimer in the
12
// documentation and/or other materials provided with the distribution.
13
// * Neither the name of any author or any participating institution
14
// may be used to endorse or promote products derived from this software
15
// without specific prior written permission.
16
// For a full list of authors, refer to the file AUTHORS.
17
// --------------------------------------------------------------------------
18
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
// ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22
// INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
30
// --------------------------------------------------------------------------
24
31
// $Maintainer: Stephan Aiche$
42
This class implements date handling.
43
Import and export to/from both string and integers is possible.
45
@ingroup Datastructures
47
class OPENMS_DLLAPI Date : public QDate
52
@brief Default constructor
54
Fills the object with an undefined date: 00/00/0000
58
Date(const Date& date);
59
/// Copy constructor from Qt base class
60
Date(const QDate& date);
62
/// Assignment operator
63
Date& operator= (const Date& source);
66
@brief sets data from a string
68
The following date formats are supoported:
73
@exception Exception::ParseError is thrown if the date is given in the wrong format
75
void set(const String& date);
78
@brief sets data from three integers
80
@exception Exception::ParseError is thrown if an invalid date is given
82
void set(UInt month, UInt day, UInt year);
84
/// Returns the current date
88
@brief Returns a string representation of the date
90
Uses the iso/ansi date format: 'yyyy-mm-dd'
95
@brief Fills the arguments with the date
97
Give the numbers in the following order: month, day and year.
99
void get(UInt& month, UInt& day, UInt& year) const;
101
///Sets the undefined date: 00/00/0000
49
This class implements date handling.
50
Import and export to/from both string and integers is possible.
52
@ingroup Datastructures
54
class OPENMS_DLLAPI Date :
60
@brief Default constructor
62
Fills the object with an undefined date: 00/00/0000
66
Date(const Date & date);
67
/// Copy constructor from Qt base class
68
Date(const QDate & date);
70
/// Assignment operator
71
Date & operator=(const Date & source);
74
@brief sets data from a string
76
The following date formats are supoported:
81
@exception Exception::ParseError is thrown if the date is given in the wrong format
83
void set(const String & date);
86
@brief sets data from three integers
88
@exception Exception::ParseError is thrown if an invalid date is given
90
void set(UInt month, UInt day, UInt year);
92
/// Returns the current date
96
@brief Returns a string representation of the date
98
Uses the iso/ansi date format: 'yyyy-mm-dd'
103
@brief Fills the arguments with the date
105
Give the numbers in the following order: month, day and year.
107
void get(UInt & month, UInt & day, UInt & year) const;
109
///Sets the undefined date: 00/00/0000
106
114
} // namespace OPENMS
108
116
#endif // OPENMS_DATASTRUCTURES_DATE_H