mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
Date
- Implemented Date::dayOfYear which yields a number, 1 to 366.
This commit is contained in:
parent
b4be5991b8
commit
27752bd510
3 changed files with 15 additions and 2 deletions
|
@ -100,7 +100,7 @@ Date::Date (const std::string& input, const std::string& format /* = "m/d/Y" */)
|
||||||
|
|
||||||
unsigned int i = 0; // Index into input.
|
unsigned int i = 0; // Index into input.
|
||||||
|
|
||||||
// Format may include: mMdDyYVaAbBhHNS
|
// Format may include: mMdDyYVaAbBhHNSjJ
|
||||||
//
|
//
|
||||||
// Note that the format should never include T or Z, as that interferes with
|
// Note that the format should never include T or Z, as that interferes with
|
||||||
// the potential parsing for ISO dates constructed from the above format.
|
// the potential parsing for ISO dates constructed from the above format.
|
||||||
|
@ -666,6 +666,13 @@ int Date::dayOfWeek (const std::string& input)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
int Date::dayOfYear () const
|
||||||
|
{
|
||||||
|
struct tm* t = localtime (&mT);
|
||||||
|
return t->tm_yday + 1;
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
int Date::monthOfYear (const std::string& input)
|
int Date::monthOfYear (const std::string& input)
|
||||||
{
|
{
|
||||||
|
|
|
@ -75,6 +75,7 @@ public:
|
||||||
int year () const;
|
int year () const;
|
||||||
int weekOfYear (int) const;
|
int weekOfYear (int) const;
|
||||||
int dayOfWeek () const;
|
int dayOfWeek () const;
|
||||||
|
int dayOfYear () const;
|
||||||
int hour () const;
|
int hour () const;
|
||||||
int minute () const;
|
int minute () const;
|
||||||
int second () const;
|
int second () const;
|
||||||
|
|
|
@ -34,7 +34,7 @@ Context context;
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
int main (int argc, char** argv)
|
int main (int argc, char** argv)
|
||||||
{
|
{
|
||||||
UnitTest t (165);
|
UnitTest t (168);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -242,6 +242,11 @@ int main (int argc, char** argv)
|
||||||
t.is (fromString13.minute (), 34, "ctor (std::string) -> N");
|
t.is (fromString13.minute (), 34, "ctor (std::string) -> N");
|
||||||
t.is (fromString13.second (), 56, "ctor (std::string) -> S");
|
t.is (fromString13.second (), 56, "ctor (std::string) -> S");
|
||||||
|
|
||||||
|
// Day of year
|
||||||
|
t.is (Date ("1/1/2011", "m/d/Y").dayOfYear (), 1, "dayOfYear (1/1/2011) -> 1");
|
||||||
|
t.is (Date ("5/1/2011", "m/d/Y").dayOfYear (), 121, "dayOfYear (5/1/2011) -> 121");
|
||||||
|
t.is (Date ("12/31/2011", "m/d/Y").dayOfYear (), 365, "dayOfYear (12/31/2011) -> 365");
|
||||||
|
|
||||||
// Easter
|
// Easter
|
||||||
Date e1 (Date::easter(1980));
|
Date e1 (Date::easter(1980));
|
||||||
t.is (e1.toString (), "4/6/1980", "Easter 4/6/1980");
|
t.is (e1.toString (), "4/6/1980", "Easter 4/6/1980");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue