⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdncal.h

📁 又一款WEB游戏原代码Bk_Sources_RPG?忠豢頦EB游戏原代码Bk_Sources_RPG
💻 H
字号:
#ifndef _INCLUDED_SDNCAL_H#define _INCLUDED_SDNCAL_H/* * This code has been modified for use with PHP * by Shane Caraveo shane@caraveo.com * see below for more details * * $Id: sdncal.h,v 1.11 1999/06/20 17:14:05 jim Exp $  *//* $selId: sdncal.h,v 2.0 1995/10/24 01:13:06 lees Exp $ * Copyright 1993-1995, Scott E. Lee, all rights reserved. * Permission granted to use, copy, modify, distribute and sell so long as * the above copyright and this permission statement are retained in all * copies.  THERE IS NO WARRANTY - USE AT YOUR OWN RISK. *//************************************************************************** * * This package defines a set of routines that convert calendar dates to * and from a serial day number (SDN).  The SDN is a serial numbering of * days where SDN 1 is November 25, 4714 BC in the Gregorian calendar and * SDN 2447893 is January 1, 1990.  This system of day numbering is * sometimes referred to as Julian days, but to avoid confusion with the * Julian calendar, it is referred to as serial day numbers here.  The term * Julian days is also used to mean the number of days since the beginning * of the current year. * * The SDN can be used as an intermediate step in converting from one * calendar system to another (such as Gregorian to Jewish).  It can also * be used for date computations such as easily comparing two dates, * determining the day of the week, finding the date of yesterday or * calculating the number of days between two dates. * * When using this software on 16 bit systems, be careful to store SDNs in * a long int, because it will not fit in the 16 bits that some systems * allocate to an int. * * For each calendar, there are two routines provided.  One converts dates * in that calendar to SDN and the other converts SDN to calendar dates. * The routines are named SdnTo<CALENDAR>() and <CALENDAR>ToSdn(), where * <CALENDAR> is the name of the calendar system. * * SDN values less than one are not supported.  If a conversion routine * returns an SDN of zero, this means that the date given is either invalid * or is outside the supported range for that calendar. * * At least some validity checks are performed on input dates.  For * example, a negative month number will result in the return of zero for * the SDN.  A returned SDN greater than one does not necessarily mean that * the input date was valid.  To determine if the date is valid, convert it * to SDN, and if the SDN is greater than zero, convert it back to a date * and compare to the original.  For example: * *    int y1, m1, d1; *    int y2, m2, d2; *    long int sdn; *    ... *    sdn = GregorianToSdn(y1, m1, d1); *    if (sdn > 0) { *        SdnToGregorian(sdn, &y2, &m2, &d2); *        if (y1 == y2 && m1 == m2 && d1 == d2) { *            ... date is valid ... *        } *    } * **************************************************************************/#include "../phpdl.h"/* Functions accessable to PHP */DLEXPORT void cal_jdtogreg(INTERNAL_FUNCTION_PARAMETERS);DLEXPORT void cal_gregtojd(INTERNAL_FUNCTION_PARAMETERS);DLEXPORT void cal_jdtojul(INTERNAL_FUNCTION_PARAMETERS);DLEXPORT void cal_jultojd(INTERNAL_FUNCTION_PARAMETERS);DLEXPORT void cal_jdtojewish(INTERNAL_FUNCTION_PARAMETERS);DLEXPORT void cal_jewishtojd(INTERNAL_FUNCTION_PARAMETERS);DLEXPORT void cal_jdtofrench(INTERNAL_FUNCTION_PARAMETERS);DLEXPORT void cal_frenchtojd(INTERNAL_FUNCTION_PARAMETERS);DLEXPORT void cal_jddayofweek(INTERNAL_FUNCTION_PARAMETERS);DLEXPORT void cal_monthname(INTERNAL_FUNCTION_PARAMETERS);DLEXPORT void cal_easter_days(INTERNAL_FUNCTION_PARAMETERS);DLEXPORT void cal_easter_date(INTERNAL_FUNCTION_PARAMETERS);/* These functions are internal to the dll *//* Gregorian calendar conversions. */void SdnToGregorian(long int sdn, int *pYear, int *pMonth, int *pDay);long int GregorianToSdn(int year, int month, int day);extern char *MonthNameShort[13];extern char *MonthNameLong[13];/* Julian calendar conversions. */void SdnToJulian(long int sdn, int *pYear, int *pMonth, int *pDay);long int JulianToSdn(int year, int month, int day);/* Jewish calendar conversions. */void SdnToJewish(long int sdn, int *pYear, int *pMonth, int *pDay);long int JewishToSdn(int year, int month, int day);extern char *JewishMonthName[14];/* French republic calendar conversions. */void SdnToFrench(long int sdn, int *pYear, int *pMonth, int *pDay);long int FrenchToSdn(int inputYear, int inputMonth, int inputDay);extern char *FrenchMonthName[14];/* Islamic calendar conversions. *//* Not implemented yet. *//* Day of week conversion.  0=Sunday, 6=Saturday */int DayOfWeek(long int sdn);extern char *DayNameShort[7];extern char *DayNameLong[7];#endif							/* _INCLUDED_SDNCAL_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -