1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-05-31 22:29:43 +02:00
joplin/ReactNativeClient/lib/time-utils.js
2018-03-09 17:49:35 +00:00

88 lines
1.3 KiB
JavaScript

const moment = require("moment");
class Time {
constructor() {
this.dateFormat_ = "DD/MM/YYYY";
this.timeFormat_ = "HH:mm";
}
dateFormat() {
return this.dateFormat_;
}
setDateFormat(v) {
this.dateFormat_ = v;
}
timeFormat() {
return this.timeFormat_;
}
setTimeFormat(v) {
this.timeFormat_ = v;
}
dateTimeFormat() {
return this.dateFormat() + " " + this.timeFormat();
}
unix() {
return Math.floor(Date.now() / 1000);
}
unixMs() {
return Date.now();
}
unixMsToObject(ms) {
return new Date(ms);
}
unixMsToS(ms) {
return Math.floor(ms / 1000);
}
unixMsToIso(ms) {
return (
moment
.unix(ms / 1000)
.utc()
.format("YYYY-MM-DDTHH:mm:ss.SSS") + "Z"
);
}
unixMsToIsoSec(ms) {
return (
moment
.unix(ms / 1000)
.utc()
.format("YYYY-MM-DDTHH:mm:ss") + "Z"
);
}
unixMsToLocalDateTime(ms) {
return moment.unix(ms / 1000).format("DD/MM/YYYY HH:mm");
}
formatMsToLocal(ms, format = null) {
if (format === null) format = this.dateTimeFormat();
return moment(ms).format(format);
}
msleep(ms) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, ms);
});
}
sleep(seconds) {
return this.msleep(seconds * 1000);
}
}
const time = new Time();
module.exports = { time };