Add JulianToGregorianOffset function.

This commit is contained in:
Dianne Skoll
2023-01-09 14:18:10 -05:00
parent e345eb15f2
commit 13df3d96e5
2 changed files with 18 additions and 0 deletions

View File

@@ -385,6 +385,23 @@ void FromDSE(int dse, int *y, int *m, int *d)
return;
}
int JulianToGregorianOffset(int y, int m)
{
int offset = 13;
int centuries;
int four_centuries;
if (y >= 2100) {
centuries = (y - 2000) / 100;
four_centuries = (y - 2000) / 400;
offset += centuries - four_centuries;
if (!(y%100) && (y % 400)) {
if (m < 2) {
offset--; /* Offset increments in March */
}
}
}
return offset;
}
/***************************************************************/
/* */
/* ParseChar */

View File

@@ -58,6 +58,7 @@ void InitRemind (int argc, char const *argv[]);
void Usage (void);
int DSE (int year, int month, int day);
void FromDSE (int dse, int *y, int *m, int *d);
int JulianToGregorianOffset(int y, int m);
int ParseChar (ParsePtr p, int *err, int peek);
int ParseToken (ParsePtr p, DynamicBuffer *dbuf);
int ParseIdentifier (ParsePtr p, DynamicBuffer *dbuf);