blob: c5fbef6ac8ec2a9217821f76c922923b3df369ab [file] [log] [blame]
/**
* Copyright (c) 2017 Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you
* may not use this file except in compliance with the License. You may
* obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
(function (moment) {
/**
* Renders a timestamp in the user timezone.
* @param timestamp The long timestamp to render (in microseconds).
* @param showTimezone True if the timezone should be rendered, false otherwise.
* @returns the string-formatted version of the provided timestamp.
*/
moment.prototype.renderTime = function (timestamp, showTimezone) {
var time = moment(timestamp / 1000);
var format = 'H:mm:ss';
if (!time.isSame(moment(), 'd')) {
format = 'M/D/YY ' + format;
}
if (!!showTimezone) {
format = format + 'ZZ';
}
return time.format(format);
}
/**
* Renders a duration in the user timezone.
* @param durationTimestamp The long duration to render (in microseconds).
* @returns the string-formatted duration of the provided duration timestamp.
*/
moment.prototype.renderDuration = function (durationTimestamp) {
var fmt = 's[s]';
var duration = moment.utc(durationTimestamp / 1000);
if (duration.hours() > 0) {
fmt = 'H[h], m[m], ' + fmt;
} else if (duration.minutes() > 0) {
fmt = 'm[m], ' + fmt;
}
return duration.format(fmt);
}
})(moment);