xxxxxxxxxx
94
//javascript adapted from https://myweb.ecu.edu/mccartyr/eastman.html
//at least one bug caught, could be more...
//Amazing piece covering the IFC (and calendars in general), used by Eastman Kodac into the 80s:
//https://99percentinvisible.org/episode/the-calendar/
function convertToIFC(today) {
//var today = new Date();
var YR = today.getYear();
if (YR < 2000) {
YR += 1900;
}
var LY = false;
if ((YR % 4 == 0 && YR % 100 != 0) || YR % 400 == 0) {
LY = true;
}
var DT = today.getDate();
var MO = today.getMonth();
var MOsum = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30);
if (LY) {
MOsum[1] = 29;
}
var DOY = DT;
for (i = 0; i < MO; ++i) {
DOY += MOsum[i];
}
var IFCday = new Array(
"Saturday",
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
);
var IFCmo = new Array(
"January",
"February",
"March",
"April",
"May",
"June",
"Sol",
"July",
"August",
"September",
"October",
"November",
"December"
);
var IFCdate;
function IFCd(n) {
var result = n % 28;
if (result == 0) {
result = 28;
}
return result;
}
if (LY && DOY > 169) {
IFCdate =
IFCday[(DOY - 1) % 7] +
", " +
IFCmo[parseInt((DOY - 1 + 27) / 28) - 1] +
" " +
IFCd(DOY - 1) +
".";
} else {
IFCdate =
IFCday[DOY % 7] +
", " +
IFCmo[parseInt((DOY + 27) / 28) - 1] +
" " +
IFCd(DOY) +
".";
}
if (LY) {
if (DOY == 366) {
IFCdate = "December 29, Year-Day.";
}
if (DOY == 169) {
IFCdate = "June 29, Leap Year Day.";
}
} else {
if (DOY == 365) {
IFCdate = "December 29, Year-Day.";
}
}
return IFCdate;
}