MCPcopy Create free account
hub / github.com/CruiserOne/Astrolog / SzTimeR

Function SzTimeR

general.cpp:1958–1996  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1956// whether the "European" time format flag is set or not.
1957
1958char *SzTimeR(int hr, int min, int sec, int mil)
1959{
1960 static char szTim[16];
1961 flag fSecond = !(sec < 0 || (us.fSecondHide && (sec == 0 && mil < 0)));
1962
1963 while (min >= 60) {
1964 min -= 60;
1965 hr++;
1966 }
1967 while (hr < 0)
1968 hr += 24;
1969 while (hr >= 24)
1970 hr -= 24;
1971 if (us.fAnsiChar == 4) {
1972 // Format like "01:23:45 PM", as seen in Quick*Chart files.
1973 sprintf(szTim, "%02d:%02d:%02d %cM",
1974 Mod12(hr), min, sec, hr < 12 ? 'A' : 'P');
1975 return szTim;
1976 }
1977 if (us.fEuroTime) {
1978 if (!fSecond)
1979 sprintf(szTim, "%2d:%02d", hr, min);
1980 else if (mil < 0)
1981 sprintf(szTim, "%2d:%02d:%02d", hr, min, sec);
1982 else
1983 sprintf(szTim, "%2d:%02d:%02d.%03d", hr, min, sec, mil);
1984 } else {
1985 if (!fSecond)
1986 sprintf(szTim, "%2d:%02d%cm", Mod12(hr), min, hr < 12 ? 'a' : 'p');
1987 else if (mil < 0)
1988 sprintf(szTim, "%2d:%02d:%02d%cm",
1989 Mod12(hr), min, sec, hr < 12 ? 'a' : 'p');
1990 else
1991 sprintf(szTim, "%2d:%02d:%02d.%03d%cm",
1992 Mod12(hr), min, sec, mil, hr < 12 ? 'a' : 'p');
1993 }
1994 is.ichLocSplit = fSecond; // Flag whether seconds were output.
1995 return szTim;
1996}
1997
1998
1999// This just determines the correct hour and minute and calls the above.

Callers 1

SzTimFunction · 0.85

Calls 1

Mod12Function · 0.85

Tested by

no test coverage detected