DotNetDupe 4.0.6
C++17/20 Implementation of the .NET Base Class Library (BCL)
Loading...
Searching...
No Matches
DateTime.cpp File Reference
#include "pch.h"
#include "System/DateTime.h"
#include "System/ArgumentOutOfRangeException.h"
#include "System/ArgumentException.h"
#include "System/FormatException.h"
#include "System/String.h"
#include <chrono>
#include <time.h>
#include <cmath>
#include <iomanip>
#include <sstream>

Go to the source code of this file.

Namespaces

namespace  DotNetDupe
namespace  DotNetDupe::System

Functions

static std::string DotNetDupe::System::ConvertFormat (const String &format)
static struct tm DotNetDupe::System::ConvertToLocalTm (int64_t time)
static struct tm DotNetDupe::System::ConvertToUtcTm (int64_t time)
static int64_t DotNetDupe::System::DateToTicks (int year, int month, int day)
 Converts a Gregorian calendar date into total 100-nanosecond ticks since CE 0001-01-01.
static void DotNetDupe::System::GetDatePart (int64_t ticks, int &year, int &month, int &day)
 Decomposes total ticks into Gregorian calendar date components (year, month, day).
static bool DotNetDupe::System::ParseDateTimeStr (const String &s, const String &format, DateTime &result)
static int64_t DotNetDupe::System::TimeToTicks (int hour, int minute, int second)
 Converts hour, minute, and second into total 100-nanosecond ticks.
static int64_t DotNetDupe::System::TmToTicks (const struct tm &t, int64_t remainderTicks)

Variables

constexpr int DotNetDupe::System::DaysToMonth365 [] = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 }
constexpr int DotNetDupe::System::DaysToMonth366 [] = { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366 }
constexpr int64_t DotNetDupe::System::MaxTicks = 3155378975999999999LL
constexpr int64_t DotNetDupe::System::MinTicks = 0
constexpr int64_t DotNetDupe::System::TicksPerDay = TicksPerHour * 24
constexpr int64_t DotNetDupe::System::TicksPerHour = TicksPerMinute * 60
constexpr int64_t DotNetDupe::System::TicksPerMillisecond = 10000
constexpr int64_t DotNetDupe::System::TicksPerMinute = TicksPerSecond * 60
constexpr int64_t DotNetDupe::System::TicksPerSecond = TicksPerMillisecond * 1000
constexpr int64_t DotNetDupe::System::UnixEpochTicks = 621355968000000000LL