Hello folks!
New Year Countdown Timer to 2026:
// New Year Countdown 2025
// Time Elapsed using System.currentTimeMillis()
// v1.0.1
// GLV 2025-12-04
// https://docs.oracle.com/javase/8/docs/api/java/util/GregorianCalendar.html
// https://www.timeanddate.com/counters/firstnewyear.html
// https://www.timeanddate.com/countdown/newyear
// https://vclock.com/timer/new-years-day/
// https://countdown.onlineclock.net/countdowns/newyear/
// https://time.is/
import java.time.*;
import java.util.*;
long targetTime;
boolean flag;
import java.time.LocalDate;
import java.time.Month;
int targetDate;
void setup()
{
size(1000, 200, P2D);
textSize(96+16);
textAlign(LEFT, CENTER);
fill(255, 255, 0);
int d = day(); // Values from 1 - 31
int m = month(); // Values from 1 - 12
int y = year(); // 2003, 2004, 2005, etc.
println(y, m, d);
if(m>1 && d>1)
targetDate = y+1;
//GregorianCalendar target = new GregorianCalendar(year, month-1, day, hour, minute, second);
GregorianCalendar target = new GregorianCalendar(targetDate, 1-1, 1, 0, 0, 0); // New years day at 00:00:00
targetTime = target.getTimeInMillis();
//println(targetTime);
textAlign(CENTER, CENTER);
surface.setTitle("New Year Countdown Timer to 2026");
}
void draw()
{
background(0);
long timeRem = targetTime - System.currentTimeMillis();
int days = (int)(timeRem/(60*60*24*1000));
int hrs = (int)(timeRem/(60*60*1000));
int mins = (int)(timeRem/(60*1000));
int secs = (int)(timeRem/1000);
int ms = (int)(timeRem - secs*1000);
if (timeRem < 1) flag = true;
String timeString = nf(days, 3) +":"+
nf(hrs - days*24, 2) +":"+
nf(mins - hrs*60, 2) +":"+
nf(secs - mins*60, 2) +":"+
nf(ms, 3);
if (!flag)
{
text(timeString, width/2, height/2-15);
//println(timeString); // Used for debug only!
}
else
{
String message = "Happy New Year!";
fill(0, 255, 0);
text(message, width/2, height/2-15);
}
}
:)
