芝麻web文件管理V1.00
编辑当前文件:/home/pulsehostuk9/public_html/cloud.pulsehost.co.uk/modules/CoreWebclient/js/models/CDateModel.js
'use strict'; var moment = require('moment'), TextUtils = require('%PathToCoreWebclientModule%/js/utils/Text.js'), Utils = require('%PathToCoreWebclientModule%/js/utils/Common.js'), UserSettings = require('%PathToCoreWebclientModule%/js/Settings.js') ; /** * @constructor */ function CDateModel() { this.iTimeStampInUTC = 0; this.oMoment = null; } /** * @param {number} iTimeStampInUTC */ CDateModel.prototype.parse = function (iTimeStampInUTC) { this.iTimeStampInUTC = iTimeStampInUTC; this.oMoment = moment.unix(this.iTimeStampInUTC); }; /** * @param {number} iYear * @param {number} iMonth * @param {number} iDay */ CDateModel.prototype.setDate = function (iYear, iMonth, iDay) { this.oMoment = moment([iYear, iMonth, iDay]); }; /** * @return {string} */ CDateModel.prototype.getTimeFormat = function () { return (UserSettings.timeFormat() === window.Enums.TimeFormat.F24) ? 'HH:mm' : 'hh:mm A'; }; /** * @return {string} */ CDateModel.prototype.getFullDate = function () { return this.getDate() + ' ' + this.getTime(); }; /** * @return {string} */ CDateModel.prototype.getMidDate = function () { return this.getShortDate(true); }; /** * @param {boolean=} bTime = false * * @return {string} */ CDateModel.prototype.getShortDate = function (bTime) { var sResult = '', oMomentNow = null ; if (this.oMoment) { oMomentNow = moment(); if (oMomentNow.format('L') === this.oMoment.format('L')) { sResult = this.oMoment.format(this.getTimeFormat()); } else { if (oMomentNow.clone().subtract(1, 'days').format('L') === this.oMoment.format('L')) { sResult = TextUtils.i18n('%MODULENAME%/LABEL_YESTERDAY'); } else { if (UserSettings.UserSelectsDateFormat) { sResult = this.oMoment.format(Utils.getDateFormatForMoment(UserSettings.dateFormat())); } else { if (oMomentNow.year() === this.oMoment.year()) { sResult = this.oMoment.format('MMM D'); } else { sResult = this.oMoment.format('MMM D, YYYY'); } } } if (!!bTime) { sResult += ', ' + this.oMoment.format(this.getTimeFormat()); } } } return sResult; }; /** * @return {string} */ CDateModel.prototype.getDate = function () { var sFormat = 'ddd, MMM D, YYYY'; if (UserSettings.UserSelectsDateFormat) { sFormat = 'ddd, ' + Utils.getDateFormatForMoment(UserSettings.dateFormat()); } return (this.oMoment) ? this.oMoment.format(sFormat) : ''; }; /** * @return {string} */ CDateModel.prototype.getTime = function () { return (this.oMoment) ? this.oMoment.format(this.getTimeFormat()): ''; }; /** * @return {number} */ CDateModel.prototype.getTimeStampInUTC = function () { return this.iTimeStampInUTC; }; module.exports = CDateModel;