blob: 6f6f4039fd3f7938e263220390e9bd04754dd645 [file] [log] [blame]
// Copyright 2018 The PDFium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#ifndef FXJS_FX_DATE_HELPERS_H_
#define FXJS_FX_DATE_HELPERS_H_
#include <stddef.h>
#include "core/fxcrt/widestring.h"
namespace fxjs {
enum class ConversionStatus { kSuccess = 0, kBadFormat, kBadDate };
extern const wchar_t* const kMonths[12];
extern const wchar_t* const kFullMonths[12];
double FX_GetDateTime();
int FX_GetYearFromTime(double dt);
int FX_GetMonthFromTime(double dt);
int FX_GetDayFromTime(double dt);
int FX_GetHourFromTime(double dt);
int FX_GetMinFromTime(double dt);
int FX_GetSecFromTime(double dt);
bool FX_IsValidMonth(int m);
bool FX_IsValidDay(int d);
bool FX_IsValid24Hour(int h);
bool FX_IsValidMinute(int m);
bool FX_IsValidSecond(int s);
double FX_LocalTime(double d);
double FX_MakeDay(int nYear, int nMonth, int nDay);
double FX_MakeTime(int nHour, int nMin, int nSec, int nMs);
double FX_MakeDate(double day, double time);
int FX_ParseStringInteger(const WideString& str,
size_t nStart,
size_t* pSkip,
size_t nMaxStep);
ConversionStatus FX_ParseDateUsingFormat(const WideString& value,
const WideString& format,
double* result);
} // namespace fxjs
using fxjs::FX_GetDateTime;
using fxjs::FX_GetDayFromTime;
using fxjs::FX_GetHourFromTime;
using fxjs::FX_GetMinFromTime;
using fxjs::FX_GetMonthFromTime;
using fxjs::FX_GetSecFromTime;
using fxjs::FX_GetYearFromTime;
using fxjs::FX_IsValid24Hour;
using fxjs::FX_IsValidDay;
using fxjs::FX_IsValidMinute;
using fxjs::FX_IsValidMonth;
using fxjs::FX_IsValidSecond;
using fxjs::FX_LocalTime;
using fxjs::FX_MakeDate;
using fxjs::FX_MakeDay;
using fxjs::FX_MakeTime;
using fxjs::FX_ParseDateUsingFormat;
using fxjs::FX_ParseStringInteger;
#endif // FXJS_FX_DATE_HELPERS_H_