1
0
Fork 0

Merge pull request #3290 from jordimas/wclock

worldclock: Add internationalisation of dates
master
Rob Pilling 2024-03-27 22:51:00 +00:00 committed by GitHub
commit 650add7c84
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 13 additions and 18 deletions

View File

@ -6,3 +6,4 @@
Fix rendering of single extra timezone on Bangle.js 2
0.06: Minor code improvements
0.07: Minor code improvements
0.08: Add internationalisation of dates

View File

@ -79,10 +79,6 @@ function queueDraw() {
}, 60000 - (Date.now() % 60000));
}
function doublenum(x) {
return x < 10 ? "0" + x : "" + x;
}
function getCurrentTimeFromOffset(dt, offset) {
return new Date(dt.getTime() + offset * 60 * 60 * 1000);
}
@ -90,7 +86,6 @@ function getCurrentTimeFromOffset(dt, offset) {
function draw() {
// get date
var d = new Date();
var da = d.toString().split(" ");
// default draw styles
g.reset();
@ -99,17 +94,17 @@ function draw() {
g.setFontAlign(0, 0);
// draw time
var time = da[4].substr(0, 5).split(":");
var hours = time[0],
minutes = time[1];
var time = require("locale").time(d, 1);
g.setFont(font, primaryTimeFontSize);
g.drawString(`${hours}:${minutes}`, xyCenter, yposTime, true);
// draw Day, name of month, Date
var date = [da[0], da[1], da[2]].join(" ");
const fontHeight = g.getFontHeight();
g.clearRect(0, yposTime - fontHeight / 2, g.getWidth(), yposTime + fontHeight / 2);
g.drawString(`${time}`, xyCenter, yposTime, true);
var month = require("locale").month(d, 1);
var dayweek = require("locale").dow(d, 1)
var day = d.getDate();
var date = [dayweek, month, day].join(" ");
g.setFont(font, primaryDateFontSize);
g.drawString(date, xyCenter, yposDate, true);
// set gmt to UTC+0
@ -118,13 +113,12 @@ function draw() {
// Loop through offset(s) and render
offsets.forEach((offset, index) => {
const dx = getCurrentTimeFromOffset(gmt, offset[OFFSET_HOURS]);
hours = doublenum(dx.getHours());
minutes = doublenum(dx.getMinutes());
var time = require("locale").time(dx, 1);
if (offsets.length === 1) {
// For a single secondary timezone, draw it bigger and drop time zone to second line
g.setFont(font, secondaryTimeFontSize);
g.drawString(`${hours}:${minutes}`, xyCenter, yposTime2, true);
g.drawString(time, xyCenter, yposTime2, true);
g.setFont(font, secondaryTimeZoneFontSize);
g.drawString(offset[OFFSET_TIME_ZONE], xyCenter, yposTime2 + 30, true);
@ -142,7 +136,7 @@ function draw() {
true
);
g.setFontAlign(1, 0);
g.drawString(`${hours}:${minutes}`, xcol2, yposWorld + index * 15, true);
g.drawString(time, xcol2, yposWorld + index * 15, true);
}
});

View File

@ -2,7 +2,7 @@
"id": "worldclock",
"name": "World Clock - 4 time zones",
"shortName": "World Clock",
"version": "0.07",
"version": "0.08",
"description": "Current time zone plus up to four others",
"icon": "app.png",
"screenshots": [{"url":"screenshot_world.png"}],