NWScript:
int SecondsSinceYearZero()
{
object oModule = GetModule();
int nYear = GetCalendarYear();
int nMonth = GetCalendarMonth();
int nDay = GetCalendarDay();
int nHour = GetTimeHour();
int nMinute = GetTimeMinute();
int nSecond = GetTimeSecond();
int nMilli = GetTimeMillisecond();
float fSecsPerHour = HoursToSeconds(1);
float fMinAndSecFactor = 3600/fSecsPerHour;
float fRLSecond = (IntToFloat(nMinute) * 60.0) + IntToFloat(nSecond) + (IntToFloat(nMilli) / 1000);
int nICRawSecond = FloatToInt(fRLSecond*fMinAndSecFactor);
int nSecondsSinceYearZero = nICRawSecond + (nHour * 3600) + (nDay * 86400) + (nMonth * 2419200) + (nYear * 29030400);
return nSecondsSinceYearZero;
}