dfp-lib
Version:
This project hosts the Node.JS client library for the SOAP-based DFP API at Google.
46 lines (45 loc) • 1.94 kB
JavaScript
;
const sprintf_js_1 = require("sprintf-js");
const dfpDate_1 = require("../soap/dfpDate");
const dfpDateTime_1 = require("../soap/dfpDateTime");
var DateTimeUtils;
(function (DateTimeUtils) {
const DATE_PATTERN = "%04d-%02d-%02d";
const ISO_PATTERN = "%04d-%02d-%02dT%02d:%02d:%02d%s";
function toDfpDate(date) {
const result = new dfpDate_1.DfpDate();
result.year = date.getUTCFullYear();
result.month = date.getUTCMonth() + 1;
result.day = date.getUTCDate();
return result;
}
DateTimeUtils.toDfpDate = toDfpDate;
function toDfpDateTime(date) {
const result = new dfpDateTime_1.DfpDateTime();
result.date = toDfpDate(date);
result.hour = date.getUTCHours();
result.minute = date.getUTCMinutes();
result.second = date.getUTCSeconds();
result.timeZoneID = 'Etc/GMT';
return result;
}
DateTimeUtils.toDfpDateTime = toDfpDateTime;
function toDfpDateTimeFromString(dateTime) {
return toDfpDateTime(new Date(dateTime));
}
DateTimeUtils.toDfpDateTimeFromString = toDfpDateTimeFromString;
function fromDfpDateTime(dfpDateTime, offset) {
const dfpDate = dfpDateTime.date;
const isoStr = sprintf_js_1.sprintf(ISO_PATTERN, dfpDate.year, dfpDate.month - 1, dfpDate.day, dfpDateTime.hour, dfpDateTime.minute, dfpDateTime.second, offset || "+00:00");
return new Date(isoStr);
}
DateTimeUtils.fromDfpDateTime = fromDfpDateTime;
function toDateString(dfpDate) {
return sprintf_js_1.sprintf(DATE_PATTERN, dfpDate.year, dfpDate.month, dfpDate.day);
}
DateTimeUtils.toDateString = toDateString;
function toISOString(dfpDateTime, offset) {
return fromDfpDateTime(dfpDateTime, offset).toISOString();
}
DateTimeUtils.toISOString = toISOString;
})(DateTimeUtils = exports.DateTimeUtils || (exports.DateTimeUtils = {}));