home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-07-31 | 87.6 KB | 3,631 lines |
- TABLE OF CONTENTS
-
- Date/--announce--
- Date/--background--
- Date/--compiling--
- Date/--history--
- Date/--release--
- Date/--todo--
- Date/_DateCleanup
- Date/_DateInit
- Date/Compare2Dates
- Date/Compare2Times
- Date/DateText
- Date/DiffTime
- Date/GregorianDayDiff
- Date/GregorianDaysAfterWeekday
- Date/GregorianDaysBeforeWeekday
- Date/GregorianDiffDate
- Date/GregorianEaster
- Date/GregorianLeapYear
- Date/GregorianMonthDays
- Date/GregorianMoonAge
- Date/GregorianMoonPhase
- Date/GregorianToJD
- Date/GregorianWeek
- Date/GregorianWeekday
- Date/GregorianYearDays
- Date/GSYearToJD
- Date/GYearToScaliger
- Date/HeisDayDiff
- Date/HeisDaysAfterWeekday
- Date/HeisDaysBeforeWeekday
- Date/HeisDiffDate
- Date/HeisEaster
- Date/HeisLeapYear
- Date/HeisMonthDays
- Date/HeisToJD
- Date/HeisWeek
- Date/HeisWeekday
- Date/HeisYearDays
- Date/HSYearToJD
- Date/HYearToScaliger
- Date/JDToGregorian
- Date/JDToHeis
- Date/JDToJulian
- Date/JDtoMJD
- Date/JDToTime
- Date/JSYearToJD
- Date/JulianDayDiff
- Date/JulianDaysAfterWeekday
- Date/JulianDaysBeforeWeekday
- Date/JulianDiffDate
- Date/JulianEaster
- Date/JulianLeapYear
- Date/JulianMonthDays
- Date/JulianToJD
- Date/JulianWeek
- Date/JulianWeekday
- Date/JulianYearDays
- Date/JYearToScaliger
- Date/LMT
- Date/MJDtoJD
- Date/MonthShortText
- Date/MonthText
- Date/ScaligerYearToG
- Date/ScaligerYearToH
- Date/ScaligerYearToJ
- Date/SecToTime
- Date/SetCountry
- Date/TimeDiff
- Date/TimeToJD
- Date/TimeToSec
- Date/TimeZoneFactor
- Date/ValidGregorianDate
- Date/ValidHeisDate
- Date/ValidJulianDate
- Date/ValidTime
- Date/WeekdayShortText
- Date/WeekdayText
- Date/--announce-- Date/--announce--
-
- TITLE
- date.library
-
- VERSION
- 33.158
-
- RELEASE DATE
- 01.08.1995
-
- AUTHOR
- Kai Hofmann (i07m@zfn.uni-bremen.de)
- (http://www.informatik.uni-bremen.de/~i07m)
-
- DESCRIPTION
- A portable ANSI-C/C++ library that gives you low level functions for
- date calculations.
- Includes the following features:
-
- - Support for six different date/time measurement systems:
- Julian, Gregorian, Heis, Julian Day, Modified Julian Day,
- Scaliger Year (other systems will follow).
- - Month/Weekday and other date/time string support for 12 languages.
- - Support for different countries (implementation not finished!).
- - Calculating leap years.
- - Functions to calculate the days of a month or a year or between
- two dates.
- - Functions to calculate the weeknumber and the weekday.
- - Check the validity of a date.
- - Calculating Easter.
- - Comparing dates.
- - Powerfull functions to handle differences between dates.
- - Transformations from one time measurement system to the others.
- - Calculating your local time zone out of your position on the earth.
- - Calculating the age of the moon and the moon phase.
- - Check the validity of a time.
- - Comparing times.
- - Transforming 24h time format into seconds and back.
- - Transforming 24h time format to Julian Day time format and back.
- - Powerfull textengine for creating date/time strings in different
- languages, that supports nearly all features of the date library.
- - A C++ class concept, which makes it very easy to use the complex
- functionality of the date library.
- - Autodoc describing all functions in the library.
- - Including ANSI-C/C++ sources and test example.
-
- NEW FEATURES
- - Better code
- - Bug fixes
- - More C++ support
- - Fixing type conversion bugs
- - Better Autodocs
- - Supporting more languages
- - Functions for checking validity of dates/times
- - Julian calendar is stable since 8 and NOT since -7!
- - Textengine
- - DateClass (basic concept)
-
- SPECIAL REQUIREMENTS
- ANSI-C or/and C++ Compiler.
-
- AVAILABILITY
- ftp://wuarchive.wustl.edu/pub/aminet/dev/c/date.lha
- And all other Aminet sites.
-
- ftp://OAK.Oakland.Edu/pub/SimTel/msdos/c/kh-date.zip
- And all other SimTel sites.
-
- Actual beta versions (for all systems) are available from:
- ftp://ftp.uni-bremen.de/pub/amiga/date/
-
- PRICE
- For NON-COMMERCIAL USE this is Giftware!
- (Non-commercial includes Giftware and Shareware!)
-
- Permission for COMMERCIAL USE is only given by an extra available
- commercial license that must be validated!
- Contact me directly for this license, because it will be individually
- handed out per your needs!
-
- But in both cases you have to follow the two guidelines below:
-
- 1) You *must* include the following notice in your product and in
- your documentation:
- "This software uses the date library that is copyrighted 1994-95
- by Kai Hofmann"
-
- 2) You "must" send me a full version of your product at no cost
- including free updates!
-
- DISTRIBUTION
- You can copy and distribute this library as long as you do not take
- more than $5 for one disk or $40 for one CD!
-
- Date/--background-- Date/--background--
-
- NAME
- Date -- This module was designed in helping calc.calendar dates (V33)
-
- FUNCTION
- This module has been designed to become a useful and portable library
- and to help developers calculate calendar dates!
-
- NOTES
- A tropical year is 365.2422 days! / 365d, 5h, 48min, 46sec
- A moon month is 29.53059 days! / 29d, 12h, 44min, 2.9 sec
- A moon phase is 7.38265 days!
- The calculations are historical and NOT astronomical!
-
- (German) Books which were consulted in creating this library:
- Kleine Naturwissenschaftliche Bibliothek, Band 23
- Ewige Kalender
- A.W. Butkewitsch & M.S. Selikson
- 5. Auflage
- Teubner, Leipzig 1974
- ISBN 3-322-00393-0
-
- Tag und Woche, Monat und Jahr: eine Kulturgeschichte des
- Kalenders
- Rudolf Wendorff
- Westdeutscher, Opladen 1993
- ISBN 3-531-12417-X
-
- Kalender und Chronologie: Bekanntes & Unbekanntes aus der
- Kalenderwissenschaft
- Heinz Zemanek
- 4. Auflage
- Oldenbourg, München 1987
- ISBN 3-486-20447-5
-
- Meyers Handbuch
- über das Weltall
- Karl Schaifers & Gerhard Traving
- 5. Auflage
- Bibliographisches Institut, Mannheim 1973
- ISBN 3-411-00940-3
-
- Astronomische Algorithmen
- Jean Meeus
- 2. Auflage
- Johann Ambrosius Barth, Berlin 1994
- ISBN 3-335-00400-0
-
- Astronomie mit dem Personal Computer
- Oliver Montenbruck & Thomas Pfleger
- 2. Auflage
- Springer, Berlin 1994
- ISBN 3-540-57701-7
-
- Handbuch der mathematischen und technischen Chronologie
- Das Zeitrechnungswesen der Völker
- Band I
- F. K. Ginzel
- 1. Auflage
- J. C. Hinrichs'sche Buchhandlung, Leipzig 1906
-
- Handbuch der mathematischen und technischen Chronologie
- Das Zeitrechnungswesen der Völker
- Band II
- F. K. Ginzel
- 1. Auflage
- J. C. Hinrichs'sche Buchhandlung, Leipzig 1911
-
- Handbuch der mathematischen und technischen Chronologie
- Das Zeitrechnungswesen der Völker
- Band III
- F. K. Ginzel
- 1. Auflage
- J. C. Hinrichs'sche Buchhandlung, Leipzig 1914
-
- (English) Books which were consulted in creating this library:
- Mathematical Astronomy with a Pocket Calculator
- Aubrey Jones Fras
- Unknown (first) Edition
- David & Charles Newton Abbot, London 1978
- ISBN 0-7153-7675-6
-
- Astronomical Algorithms
- Jean Meeus
- Unknown Edition (I use the German second edition ;-)
- Willmann-Bell, Inc., Ruchmond, Virginia (USA) 1991
- ISBN 0-943396-35-2
-
- COPYRIGHT
- This software is copyrighted 1994-95 by Kai Hofmann.
- All rights reserved!
-
- - Permission for COMMERCIAL USE is only given by an extra available
- commercial license that must be validated!
- Contact me directly for this license, because it will be
- individually handed out per your needs!
-
- - Permission is hereby granted, without written agreement and without
- license, to USE this software and its documentation for any
- NON-COMMERCIAL purpose, provided that the above copyright notice
- and the following paragraph appear in all copies of this software
- (Non-commercial includes Giftware and Shareware!).
-
- You *must* include the following notice in your product and in your
- documentation:
- "This software uses the date library that is copyrighted 1994-95 by
- Kai Hofmann"
-
- You "must" send me a full version of your product at no cost
- including free updates!
- Extra money is welcome (For Bank Account see below - but *ONLY*
- send in DM to this Bank Account!).
-
- - THERE IS *NO PERMISSION* GIVEN TO MODIFY THIS SOFTWARE!
-
- If you need only parts of this software, you should not worry,
- because it's the job of the optimizer from your C compiler to
- include only the needed parts in your executable!
-
- DISCLAIMER
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
- APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
- HOLDER AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
- WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
- PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE
- DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
- CORRECTION.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE
- THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
- INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
- ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING
- BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR
- LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM
- TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
- PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
- THE AUTHOR HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,
- UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
-
- DISTRIBUTION
- Permission is hereby granted, without written agreement and without
- license or royalty fees, to copy and distribute this software and its
- documentation for any purpose, provided that the above copyright
- notice and the following paragraphs appear in all copies of this
- software, to:
- - All who will distribute this software for free!
- - All free accessible INTERNET servers and PHONE boxes!
- - All Aminet sites
- - All SimTel sites
- - Fred Fish for his great Amiga-Software-Library
- - The German SAAR AG PD-Library
- - All others who do NOT take more than $5.- for one disk that
- includes this software!
- - ALL others who do NOT take more than $40.- for one CD that includes
- this software!
-
- ADDITIONAL INFORMATIONS
- I have tried to make portable/useful and I hope bugfree software
- for eternity - but this seems to be impossible (sorry!) :)
- So I hope you will pay a fee for this.
-
- Kindly send US - dollars to a friend of mine in the USA who will
- forward it to me in a timely manner. Please send checks or money
- orders only.
- Contact me via email for more!
-
- AUTHOR
- Kai Hofmann
- Arberger Heerstraße 92
- 28307 Bremen
- Germany
-
- Phone: (+49)-(0)421/480780
- (Remember that my parents don't speak english!)
- EMail: i07m@zfn.uni-bremen.de
- i07m@informatik.uni-bremen.de
- IRC : PowerStat@#AmigaGer
- WWW : http://www.informatik.uni-bremen.de/~i07m
-
- Bank account : 1203 7503
- Account owner: Kai Hofmann
- Bank code : 290 501 01
- Bank name : Sparkasse in Bremen/Germany
-
- THANKS
- Thank you's are going to the following people:
- Daniel Amor - For his hint about the Oberon-2 SHORT
- command
- Rita Reichl - For correcting my bad english (very often)
- and for the three magic books *kiss*
- Jim Rickman - For reporting a bug
- Christian Schaefer - For spending time on this lib with his
- Borland C++ 4.5 compiler
- Heinz Zemanek - For his great book
- Jacco van Weert &
- Frans Slothouber - For the 'Robodoc' utility
- James Cooper and the
- other Amiga people at
- SAS Intitute - For spending their unpaid free time with
- continuation of the Amiga SAS C/C++
- support :)
-
- Date/--compiling-- Date/--compiling--
-
- NAME
- compiling -- Specials for compiling the date library.
-
- COMPILING
- - You could compile this code as normal C or as C++
- - _AMIGA, __SASC_650, __MakeLib are Amiga only pp defines!
- - _ISO8859_Latin1 should be defined if your system supports this
- font encoding technology!
- - Date_Time.c will be included automatically!
-
- Date/--history-- Date/--history--
-
- NAME
- history -- This is the development history of the Date module
-
- VERSION
- $VER: Date 33.158 (29.07.95)
-
- HISTORY
- 16.01.1994 - Procedures: JulianLeapYear(), GregorianLeapYear() &
- HeisLeapYear() initiated.
- 22.01.1994 - Procedures: JulianMonthDays(), GregorianMonthDays(),
- HeisMonthDays(), JulianYearDays(),
- GregorianYearDays(), HeisYearDays(), JulianDayDiff(),
- GregorianDayDiff(), HeisDayDiff(),
- JulianDaySmaller(), GregorianDaySmaller(),
- HeisDaySmaller(), JulianWeekday(),
- GregorianWeekday(), HeisWeekday(),
- JulianDaysBeforeWeekday(),
- GregorianDaysBeforeWeekday(),
- HeisDaysBeforeWeekday(), JulianDaysAfterWeekday(),
- GregorianDaysAfterWeekday(), HeisDaysAfterWeekday(),
- JulianDiffDate(), FreeDate() initiated.
- Types: Weekdays, Date, DatePtr initiated.
- Vars of Gregorian reform initiated
- (for changing to different countries)
- 23.01.1994 - Procedures: JulianDiffDate() finished,
- GregorianDiffDate(), HeisDiffDate(),
- JYearToScaliger(), GYearToScaliger(),
- HYearToScaliger(), ScaligerYearToJ(),
- ScaligerYearToG(), ScaligerYearToH(), JSYearToJD(),
- GSYearToJD(), HSYearToJD(), JDtoMJD(), MJDtoJD(),
- JulianToJD(), GregorianToJD(), HeisToJD(),
- TimeToJD(), JDToTime(), FreeTime() initiated.
- Types: Time, TimePtr initiated.
- 28.01.1994 - Procedures: GregorianMoonAge(), MoonMonthAge(),
- GregorianEaster() initiated.
- 30.01.1994 - Procedures: JulianDiffDate(), GregorianDiffDate(),
- HeisDiffDate(), JDToTime(), GregorianEaster() edited
- (changing return value from ptr to VAL variables).
- Procedures: FreeDate(), FreeTime() deleted.
- Types: Date, DatePtr, Time, TimePtr deleted (not
- longer needed, because of the procedure changes).
- Procedures: GregorianMoonAge(), GregorianEaster()
- changed year parameter from CARDINAL to INTEGER
- (this is more consistent to the rest of the library).
- Bugs removed: GregorianWeekday(), HeisWeekday()
- (before removing, the weekday for leapyears was
- wrong)
- Procedure: GregorianEaster() finished.
- Ported to Oberon-2
- 31.01.1994 - Compiled with Oberon-2 V3.11
- 12.02.1994 - Procedures: TimeZoneFactor(), LMT(), TimeToSec(),
- SecToTime() initiated.
- Version-String installed :)
- Starting translation to SAS C 6.51:
- Date.h translated
- 13.02.1994 - Continuation of C translation
- 17.02.1994 - New Oberon-2 Port, because Daniel Amor gave me a
- small hint about the SHORT command
- (I did not know about this!)
- Small bug in Autodocs removed
- making this text as Date/--history-- autodoc
- Continuation of C translation
- 18.02.1994 - Finished with C translation
- 19.02.1994 - C bugs removed (thanks to SAS for helping a
- C greenhorn like me!), some optimizations done also.
- Oberon-2 version compiled with V40.17 includes
- 21.02.1994 - Starting to write Modula-II testmodule
- Vars for the begining of Heis calculation initiated.
- Fixed small bugs in GregorianWeekday(),
- HeisWeekday(), TimeToSec(), SecToTime()
- Return-value of LMT() changed to LONGINT!
- Converting testmodule to Oberon-2
- 22.02.1994 - Converting testmodule to C
- 23.02.1994 - I noticed, that I forgot the 3 functions
- JulianWeek(), GregorianWeek(), HeisWeek()
- 24.02.1994 - Initiated the 3 forgotten functions
- 26.02.1994 - Initiating new GregorianEaster() with
- Gauß-algorithms but ONLY for 1900-2099!
- 27.02.1994 - Bug fixed in JulianWeekday()
- Bugs fixed in JulianDayDiff(), GregorianDayDiff(),
- HeisDayDiff()
- JulianDayGreater(), GregorianDayGreater(),
- HeisDayGreater() Initiated.
- 02.03.1994 - Small bug fixed in HeisDayDiff()
- Bugs from 27.02. fixed in Modula-II and Oberon-2
- versions
- I found the way to extend GregorianEaster() !
- Small bug fixed in JulianWeek(), GregorianWeek(),
- HeisWeek() (~(M2) is not !(C))
- 05.03.1994 - Some internal bugs removed
- New internal procedures GregorianSB(),
- GregorianJHSB(), GregorianJHStartSB() !
- Extending GregorianEaster() :)
- 11.03.1994 - Things from 05.03. done in Modula-II and Oberon
- 12.03.1994 - If __SASC is defined autoinitialization instead of
- _DateInit() will be used!
- 13.03.1994 - After studying the SAS C Manual again I decided to
- check for __SASC_650 instead of __SASC because of
- the available priorities!
- Setting the priority of _DateInit() for
- autoinitialization to 600!
- 15.03.1994 - Making Date as library
- 16.03.1994 - Some work on the Autodocs was done,
- eliminating OldGregorianEaster() by comments
- (ANSI: STOP bad standards like that there are NO
- nested comments possible in C!!!).
- 19.03.1994 - Some work on the Autodocs was done in the M2 Code.
- 20.03.1994 - Some work on the Autodocs was done in the Oberon Code
- 22.03.1994 - In JDtoMJD(), MJDtoJD() an L was added to the
- constant.
- In GregorianWeekday(), HeisWeekday(),
- JulianDiffDate(), GregorianDiffDate(),
- HeisDiffDate(), JDToTime() I have inserted
- conversions (found with Borland C++ 4.0).
- 24.03.1994 - Making SunOS4.1.3, SunOS5.3(Solaris2.3) &
- RS6000 AIX3.2.? binaries with gcc.
- Eliminating nested commends by inserting a space
- between / and * (I hate this ANSI C standard
- feature for commends :(
- 27.03.1994 - Adding library register assignments to the autodocs.
- 03.04.1994 - Small fixes for the SAS C++ Compiler
- Small bug fixed in the M2 version of
- GregorianEaster()
- 04.04.1994 - Adding some 'static' keywords.
- 10.04.1994 - Changing from Shareware to Gift Ware ;-)
- 02.08.1994 - Small fixes in the Autodocs (thanks to Rita Reichl
- for correcting my bad english ;-)
- 11.08.1994 - Again small fixes in the Autodocs!
- 13.11.1994 - Small fix in JulianWeek(),GregorianWeek(),HeisWeek().
- Thanks to Jim Rickman for reporting the bug!
- Small changes in the Autodocs!
- 30.11.1994 - Fix the bug from 13.11. in M2 and Oberon code.
- 04.12.1994 - Small fixes in the C-Autodocs.
- 12.12.1994 - Adding WeekdayText(), MonthText() and internal
- max().
- 13.12.1994 - Optimizing WeekdayText() and MonthText()
- 14.12.1994 - Adding WeekdayShortText() and MonthShortText(),
- and fixing the french text.
- 17.12.1994 - Two small changes in the copyright conditions!
- 18.12.1994 - Fix for Amiga init library
- 10.01.1995 - Installing TurboText 2.0
- 11.01.1995 - Found a new (German) book!
- 13.01.1995 - Introducing release history
- 14.01.1995 - Introducing to do list
- 15.01.1995 - Procedures: JDToJulian(), JDToGregorian(),
- JDToHeis() as dummy, JulianEaster() initiated.
- Procedure: OldGregorianEaster() removed.
- Initiating an alternate GregorianEaster() and a
- dummy HeisEaster().
- 16.01.1995 - Procedure: GregorianMoonPhase initiated.
- I decided not longer to support Modula-II and Oberon
- version, until someone asks for it!
- 17.01.1995 - Internal procedure: GregorianMoonPhaseHelp.
- Adding a note to the background.
- Correcting small bug in autodocs.
- 18.01.1995 - Found a new (German) book!
- 20.01.1995 - Rita Reichl found David F. Skoll's Reminder3.0 -
- I was so impressed, that I could not continue my
- work for one day ;-)
- 21.01.1995 - I decided to distribute my TextEngine with the date
- library, when I have finished it.
- 28.01.1995 - Adding 'static' to GregorianMoonPhaseHelp.
- Fixing a very small bug.
- 01.02.1995 - Replacing JulianDaySmaller(), GregorianDaySmaller(),
- HeisDaySmaller(), JulianDayGreater(),
- GregorianDayGreater(), HeisDayGreater() with the new
- CompareDates()!
- Procedure: CompareTimes() initiated.
- 04.02.1995 - Adding some things to the autodocs.
- 07.02.1995 - Small fixes in the autodocs, and changing * to
- *const for JulianDiffDate(), GregorianDiffDate(),
- HeisDiffDate(),JDToTime(),SecToTime(),WeekdayText(),
- MonthText(),WeekdayShortText(),MonthShortText(),
- JulianEaster(),GregorianEaster(),HeisEaster(),
- JDToJulian(),JDToGregorian(),JDToHeis().
- Adding const to WeekdayText(),MonthText(),
- WeekdayShortText(),MonthShortText(), maximum().
- Adding C++ support to SecToTime(), JDToTime(),
- JDToJulian(), JDToGregorian(), JDToHeis(),
- JulianEaster(), GregorianEaster(), HeisEaster(),
- JulianDiffDate(), GregorianDiffDate(),HeisDiffDate(),
- GregorianMoonPhase()
- Changing the order of #ifdef headers.
- Fixing type conversion bugs (found with C++)
- 17.02.1995 - I good a hint about Jean-Michel Leon's 'K-lendars'
- nice thing ;-)
- 18.02.1995 - More languages for WeekdayText(), WeekdayShortText(),
- MonthText(), MonthShortText()
- Procedures DateText() ValidTime() initiated.
- Bug in WeekdayText(), WeekdayShortText(),
- MonthText(), MonthShortText() fixed
- Procedures: ValidJulianDate(), ValidGregorianDate(),
- ValidHeisDate() as dummys initiated.
- 19.02.1995 - Procedures: ValidJulianDate(), ValidGregorianDate(),
- ValidHeisDate() finished.
- Procedure SetCountry() initiated.
- 24.02.1995 - Rita Reichl corrects my bad English - again *THANX*
- 26.02.1995 - Adding Polish and Finnish support (not public)
- 27.02.1995 - Renaming CompareDates() to Compare2Dates() and
- CompareTimes() to Compare2Times() because there is an
- conflict with AmigaDOS!
- 28.02.1995 - To-Do list is not longer internal.
- 07.03.1995 - I got the three magic books :) thanx to Rita Reichl!
- 09.03.1995
- 12.03.1995 - These two days I was at CeBit in Hannover!
- Whatever I observed and whatever material I acquired
- will change some things for commercial distribution
- (I was so uninformed and naive ;-)
- 16.03.1995 - Some work and corrections on the autodocs.
- 20.03.1995 - Compiled with SAS C 6.55
- 21.03.1995 - Fixing C++ abs() problem!
- (I don't know why SAS means that this is a problem!)
- 23.03.1995 - Fixing following things:
- Adding 'L' to the constant in JDToGregorian()
- Removing three conditions from ValidTime().
- maximum() is only needed for Amiga code!
- GregorianJHSB(), GregorianSB() is not longer needed.
- Thanx to Christian Schaefer for finding this
- things with Borland C++!
- 24.03.1995 - I read, that the Julian Calendar is stabel from
- 8 on and not from -7, so I corrected the autodocs!
- 31.03.1995 - Some work on DateText().
- Reformating the DISCLAIMER to autodoc style.
- 01.04.1995 - Moving TimeToJD(), JDToTime(), TimeZoneFactor(),
- LMT(), TimeToSec(), SecToTime(), Compare2Times(),
- ValidTime() to Date_Time.c (this is no April fool ;-)
- 06.04.1995 - Minor work on the autodocs.
- 07.04.1995 - Adding prototype for _DateCleanup() to Date.h.
- GregorianSZ() is not longer needed.
- Thanks to Christian Schaefer for reporting this bugs!
- 14.05.1995 - New copyright notice!
- 19.05.1995 - Rita Reichl corrects my bad English.
- 23.05.1995 - Writing announcement.
- 01.06.1995 - Correcting announcement and including it in the
- autodocs.
- 03.06.1995 - Procedures: TimeDiff(), DiffTime() initiated.
- Fixing small bugs in datetest.c and implementing
- C++ support
- 09.06.1995 - Writing Installer script (Amiga only)
- 14.06.1995 - Small fixes in GregorianEaster(), GregorianEP(),
- GSYearToJD(), GregorianWeekday(), GregorianDayDiff(),
- HeisDayDiff()
- 18.06.1995 - Again small fixes in GregorianDayDiff(),
- HeisDayDiff()
- 28.06.1995 - Small Autodoc fixes
- 08.07.1995 - Fixing bug in DiffTime()
- 14.07.1995 - Workaround, for a SAS C++ problem.
- Thanks to James Cooper for the hint.
- 18.07.1995 - Fixing 'is long constant' warnings in Date_Time.h
- Fixing two missed enum's for the C++ workaround.
- 28.07.1995 - Shortening the year of the version-string to 95,
- because the Amiga 'version' command is buggy!
- 29.07.1995 - Expanding announcement for DateClass.
-
- Date/--release-- Date/--release--
-
- NAME
- release -- This is the release history of the Date module
-
- RELEASE
- 13.04.1994 : 33.087 - V1.0 First release on Aminet3 & SaarAG 707
- 13.08.1994 : 33.088 - V1.1 Second release on Aminet4, SaarAG 793,
- Fred Fish & SimTel
- 18.12.1994 : 33.093 - V1.2 Third release on Aminet
- 06.02.1995 : 33.100 - V1.3 Fourth release on Aminet, Amiga-PD-1
- 01.08.1995 : 33.158 - V1.4 Fifth release on Aminet, SaarAG,
- Fred Fish & SimTel
-
- Date/--todo-- Date/--todo--
-
- NAME
- todo -- This is the 'To-Do' list of the Date module
-
- TODO
- DateText() plural strings
- Country strings for TextEngine
- (Local catalog (Amiga only))
- A function to compare date/time of different time zones!
- DATE/ECHO like shell command
- Country dependend for 1582
- Rising/setting of moon and sun
- Parser for datestrings
- EVAL like shell command
- Tcl interface
- Other calenders, like the Islamic and the Jewish
-
- Date/_DateCleanup Date/_DateCleanup
-
- NAME
- _DateCleanup -- Procedure to cleanup this module! (V33)
-
- SYNOPSIS
- _DateCleanup();
-
- void _DateCleanup(void);
-
- FUNCTION
- Cleanup this module, after using!
-
- INPUTS
- None.
-
- RESULT
- None.
-
- EXAMPLE
- ...
- _DateCleanup();
- ...
-
- NOTES
- This function is only needed/available if you do not compile this
- with a SAS C Compiler (using Autoinitialization!)
- If you are not using SASC - don't forget to cleanup this module with
- this function - or you will get into trouble!!!
-
- BUGS
- unknown.
-
- SEE ALSO
- _DateInit()
-
- Date/_DateInit Date/_DateInit
-
- NAME
- _DateInit -- Procedure to initialize this module! (V33)
-
- SYNOPSIS
- _DateInit();
-
- void _DateInit(void);
-
- FUNCTION
- Initialize this module, like the modulebody in Modula-II or Oberon-2
-
- INPUTS
- None.
-
- RESULT
- None.
-
- EXAMPLE
- ...
- _DateInit();
- ...
-
- NOTES
- This function is only needed/available if you do not compile this
- with a SAS C Compiler (using Autoinitialization!)
- If you are not using SASC - don't forget to init this module with
- this function - or you will get into trouble!!!
-
- BUGS
- unknown.
-
- SEE ALSO
- _DateCleanup()
-
- Date/Compare2Dates Date/Compare2Dates
-
- NAME
- Compare2Dates -- Compares date1 with date2. (V33.100)
-
- SYNOPSIS
- compare = Compare2Dates(day1,month1,year1,day2,month2,year2);
- d0 d0 d1 d2 d3 d4 d5
-
- short Compare2Dates(const unsigned short day1,
- const unsigned short month1, const int year1,
- const unsigned short day2, const unsigned short month2,
- const int year2);
-
- FUNCTION
- Compare2Dates compares date1 with date2.
-
- INPUTS
- day1 - day of the first date
- month1 - month of the first date
- year1 - year of the first date
- day2 - day of the second date
- month2 - month of the second month
- year2 - year of the second date
-
- RESULT
- compare - -1 : date1 < date2
- 0 : date1 = date2
- 1 : date1 > date2
-
- EXAMPLE
- ...
- if (Compare2Dates(18,9,1970,22,1,1994) == -1)
- printf("<\n");
- else
- printf(">=\n");
- ...
-
- NOTES
- It is better only to use this function for years from 8 to 8000!
- There is no need for different versions for Julian, Gregorian and
- Heis dates!
-
- BUGS
- There is no check if the dates are valid!
-
- SEE ALSO
- Compare2Times()
-
- Date/Compare2Times Date/Compare2Times
-
- NAME
- Compare2Times -- Compares time1 with time2. (V33.100)
-
- SYNOPSIS
- compare = Compare2Times(hour1,min1,sec1,hour2,min2,sec2);
- d0 d0 d1 d2 d3 d4 d5
-
- short Compare2Times(const unsigned short hour1,
- const unsigned short min1, const unsigned short sec1,
- const unsigned short hour2, const unsigned short min2,
- const unsigned short sec2);
-
- FUNCTION
- Compare2Times compares time1 with time2 (24h format only).
-
- INPUTS
- hour1 - Hour of the first time.
- min1 - Minute of the first time.
- sec1 - Second of the first time.
- hour2 - Hour of the second time.
- min2 - Minute of the second time.
- sec2 - Second of the second time.
-
- RESULT
- compare - -1 : time1 < time2
- 0 : time1 = time2
- 1 : time1 > time2
-
- EXAMPLE
- ...
- if (Compare2Times(13,10,0,9,0,0) == -1)
- printf("<\n");
- else
- printf(">=\n");
- ...
-
- NOTES
- This compares two times of 24h format!
-
- BUGS
- There is no check if the times are valid times!
-
- SEE ALSO
- Compare2Dates()
-
- Date/DateText Date/DateText
-
- NAME
- DateText -- Get a date text string. (V33.130)
-
- SYNOPSIS
- DateText(dt,mtext,lang,plural);
- d0 a0 d1 d2
-
- void DateText(const DateTexts dt, char *const text,
- Languages lang, const bool plural);
-
- FUNCTION
- This function gets a date specified text in each supported language
-
- INPUTS
- dt - The text you want.
- text - Pointer to a string to fill in the text.
- lang - Language for which you want the text.
- plural - false: The singular form is given.
- true : The plural form is given.
-
- RESULT
- None
-
- EXAMPLE
- ...
- char txt[20];
- ...
- DateText(day,&txt,English,false);
- ...
-
- NOTES
- Available languages:
- Locale : This is an Amiga >= OS2.1 only feature, for <= OS2.0
- and other systems it will return English text!
- English
- Deutsch
- français : For non ISO8859_Latin1-systems this is called francais!
- español : For non ISO8859_Latin1-systems this is called espanol!
- português : For non ISO8859_Latin1-systems this is called portugues!
- dansk
- italiano
- nederlands
- norsk
- svenska
- polski
- suomalainen
-
- Available strings:
- DAY,MONTH,YEAR,WEEK,WEEKDAY,HOUR,MINUTE,SECOND,YESTERDAY,TODAY,
- TOMORROW
-
- In the moment there is only the singular text available!!!
-
- BUGS
- In this version there is no check, if there is enough space in
- text!
-
- SEE ALSO
- WeekdayText(),WeekdayShortText(),MonthText(),MonthShortText()
-
- Date/DiffTime Date/DiffTime
-
- NAME
- DiffTime -- Returns the diff. time to another time. (V33)
-
- SYNOPSIS
- DiffTime(hour,min,sec,secs,rhour,rmin,rsec);
- d0 d1 d2 d3 a0 a1 a2
-
- void DiffTime(const unsigned short hour, const unsigned short min,
- const unsigned short sec, long secs, unsigned short *const rhour,
- unsigned short *const rmin, unsigned short *const rsec);
-
- void DiffTime(const unsigned short hour, const unsigned short min,
- const unsigned short sec, long secs, unsigned short &rhour,
- unsigned short &rmin, unsigned short &rsec);
-
- FUNCTION
- Returns the time which lies diffsecs before/after the specified time.
-
- INPUTS
- hour - hour
- min - minute
- sec - second
- diffsecs - difference to the time in seconds
-
- RESULT
- rhour - new hour
- rmin - new minute
- rsec - new second
-
- EXAMPLE
- ...
- DiffTime(12,19,0,2460,&hour,&min,&sec);
- ...
-
- NOTES
- Don't forget to convert AM/PM to 24h time!
- Don't forget to convert 24h time to AM/PM time if needed!
-
- BUGS
- No errorcheck, if you use a valid time
-
- SEE ALSO
- TimeToSec(),SecToTime()
-
- Date/GregorianDayDiff Date/GregorianDayDiff
-
- NAME
- GregorianDayDiff -- Calculates the days between 2 dates. (V33)
-
- SYNOPSIS
- days = GregorianDayDiff(day1,month1,year1,day2,month2,year2);
- d0 d0 d1 d2 d3 d4 d5
-
- long GregorianDayDiff(const unsigned short day1,
- unsigned short month1, int year1, const unsigned short day2,
- unsigned short month2, int year2);
-
- FUNCTION
- GregorianDayDiff gives you back the number of days between
- two specified dates.
-
- INPUTS
- day1 - day of the first date
- month1 - month of the first date
- year1 - year of the first date
- day2 - day of the second date
- month2 - month of the second month
- year2 - year of the second date
-
- RESULT
- days - The number of days between the two dates
- (positive if date1 <= date2).
-
- EXAMPLE
- ...
- days = GregorianDayDiff(18,9,1970,22,1,1994);
- printf("Age of Kai Hofmann in days : %d\n",days);
- ...
-
- NOTES
- It is better only to use this function for years from 8 to 02.3200!
-
- BUGS
- If you use one of the dates 5.10.1582 to 14.10.1582 you will get an
- incorrect output because these days don't exist!
-
- SEE ALSO
- GregorianLeapYear(),GregorianMonthDays(),GregorianYearDays(),
- JulianDayDiff(),HeisDayDiff()
-
- Date/GregorianDaysAfterWeekday Date/GregorianDaysAfterWeekday
-
- NAME
- GregorianDaysAfterWeekday -- Returns the diff to wday after. (V33)
-
- SYNOPSIS
- days = GregorianDaysAfterWeekday(day,month,year,weekday);
- d0 d0 d1 d2 d3
-
- unsigned short GregorianDaysAfterWeekday(const unsigned short day,
- const unsigned short month, const int year,
- const Weekdays weekday);
-
- FUNCTION
- Returns the days to the weekday after the specified date.
- If you specify the 22.1.1994 (Saturday) and Thursday
- you get back 5!
- If you specify the 22.1.1994 and Saturday you get back 0
- (the same day)!
-
- INPUTS
- day - day of the date
- month - month of the date
- year - year of the date
- weekday - weekday to search for building difference
-
- RESULT
- days - The days after to the searched weekday.
-
- EXAMPLE
- ...
- days = GregorianDaysAfterWeekday(22,1,1994,Thursday);
- ...
-
- NOTES
- It is better to use this function only from 8 to 3200!
-
- BUGS
- See GregorianWeekday()!
-
- SEE ALSO
- GregorianWeekday(),JulianDaysAfterWeekday(),HeisDaysAfterWeekday()
-
- Date/GregorianDaysBeforeWeekday Date/GregorianDaysBeforeWeekday
-
- NAME
- GregorianDaysBeforeWeekday -- Returns the diff to wday before. (V33)
-
- SYNOPSIS
- days = GregorianDaysBeforeWeekday(day,month,year,weekday);
- d0 d0 d1 d2 d3
-
- unsigned short GregorianDaysBeforeWeekday(const unsigned short day,
- const unsigned short month, const int year,
- const Weekdays weekday);
-
- FUNCTION
- Returns the days to the weekday before the specified date.
- If you specify the 22.1.1994 (Saturday) and Thursday
- you get back 2!
- If you specify the 22.1.1994 and Saturday you get back 0
- (the same day)!
-
- INPUTS
- day - day of the date
- month - month of the date
- year - year of the date
- weekday - weekday to search for building difference
-
- RESULT
- days - The days gets you back to the searched weekday (1-7)
- If you get back an 8 an error occurs!
-
- EXAMPLE
- ...
- days = GregorianDaysBeforeWeekday(22,1,1994,Thursday);
- ...
-
- NOTES
- It is better to use this function only from 8 to 3200!
-
- BUGS
- See GregorianWeekday()!
-
- SEE ALSO
- GregorianWeekday(),JulianDaysBeforeWeekday(),HeisDaysBeforeWeekday()
-
- Date/GregorianDiffDate Date/GregorianDiffDate
-
- NAME
- GregorianDiffDate -- Returns the diff date to another date. (V33)
-
- SYNOPSIS
- GregorianDiffDate(day,month,year,diffdays,dday,dmonth,dyear);
- d0 d1 d2 d3 a0 a1 a2
-
- void GregorianDiffDate(const unsigned short day,
- const unsigned short month, const int year, int days,
- unsigned short *const dday, unsigned short *const dmonth,
- int *const dyear);
-
- void GregorianDiffDate(const unsigned short day,
- const unsigned short month, const int year, int days,
- unsigned short &dday, unsigned short &dmonth, int &dyear);
-
- FUNCTION
- Returns the date which lies diffdays before/after the specified date.
-
- INPUTS
- day - day of the date
- month - month of the date
- year - year of the date
- diffdays - difference to the date in days
-
- RESULT
- dday - Destination day
- dmonth - Destination month
- dyear - Destination year
-
- EXAMPLE
- ...
- GregorianDiffDate(23,1,1994,7,&dday,&dmonth,&dyear);
- ...
-
- NOTES
- It is better to use this function only from 8 to 3200!
-
- BUGS
- unknown.
-
- SEE ALSO
- GregorianDayDiff(),GregorianMonthDays(),JulianDiffDate(),
- HeisDiffDate()
-
- Date/GregorianEaster Date/GregorianEaster
-
- NAME
- GregorianEaster -- Returns the date of Easter in a year (V33)
-
- SYNOPSIS
- GregorianEaster(year,dday,dmonth);
- d0 a0 a1
-
- void GregorianEaster(const int year, unsigned short *const dday,
- unsigned short *const dmonth);
-
- void GregorianEaster(const int year, unsigned short &dday,
- unsigned short &dmonth);
-
- FUNCTION
- Returns the date of Easter for a specified year.
-
- INPUTS
- year - Easter is calculated for this year
-
- RESULT
- dday - day of Easter Sunday
- dmonth - month of Easter Sunday
-
- EXAMPLE
- ...
- GregorianEaster(1994,&dday,&dmonth);
- ...
-
- NOTES
- Use this only for 31 to 2099!
-
- BUGS
- None.
-
- SEE ALSO
- JulianEaster(),HeisEaster()
-
- Date/GregorianLeapYear Date/GregorianLeapYear
-
- NAME
- GregorianLeapYear -- Checks if a year is a leap year. (V33)
-
- SYNOPSIS
- leapyear = GregorianLeapYear(year);
- d0 d0
-
- bool GregorianLeapYear(const int year);
-
- FUNCTION
- GregorianLeapYear checks if a year is a leap year.
- For years after 1582 all years devideable by 4 are leap years,
- without years devideable by 100, but years devideable by 400
- are leap years again!
- For years before 1582 see JulianLeapYear().
-
- INPUTS
- year - The year which should be checked (from -32768 to 32767)
- I think only values from 8 to 3200 are valid, because of
- the variant that was done by Augustus!
-
- RESULT
- leapyear - TRUE if the year is a leap year, otherwise false.
-
- EXAMPLE
- ...
- if (GregorianLeapYear(1994))
- printf("leap year!\n");
- else
- printf("no leap year!\n");
- ...
-
- NOTES
- A year is 365.2425 days long!
- Use this function only for values from 8 to 3199!
-
- BUGS
- No known bugs.
-
- SEE ALSO
- JulianLeapYear(),HeisLeapYear()
-
- Date/GregorianMonthDays Date/GregorianMonthDays
-
- NAME
- GregorianMonthDays -- Returns the number of days of a month. (V33)
-
- SYNOPSIS
- days = GregorianMonthDays(month,year);
- d0 d0 d1
-
- unsigned short GregorianMonthDays(const unsigned short month,
- const int year);
-
- FUNCTION
- GregorianMonthDays returns the number of days a month in
- a specified year has.
- For the year 1582 and the month 10 there are only 21 days,
- because of the Gregorian-reform 10 days are deleted from
- the month (for more - look out for books about this!)
-
- INPUTS
- month - The month from which you want to get the number of days.
- year - The year in which the month is.
-
- RESULT
- days - The number of days the month uses, or 0 if you use
- an incorrect month.
-
- EXAMPLE
- ...
- days = GregorianMonthDays(1,1994);
- printf("Days of January 1994 : %d\n",days);
- ...
-
- NOTES
- Use this function only for years from 8 to 3199!
-
- BUGS
- none.
-
- SEE ALSO
- GregorianLeapYear(),JulianMonthDays(),HeisMonthDays()
-
- Date/GregorianMoonAge Date/GregorianMoonAge
-
- NAME
- GregorianMoonAge -- Returns the age of the moon (V33)
-
- SYNOPSIS
- ep = GregorianMoonAge(day,month,year);
- d0 d0 d1 d2
-
- unsigned short GregorianMoonAge(const unsigned short day,
- const unsigned short month, const int year);
-
- FUNCTION
- Returns the age of the moon on a specified date.
-
- INPUTS
- day - For this day the age is calculated.
- month - For this month the age is calculated.
- year - For this year the age is calculated.
-
- RESULT
- ep - The age of the moon on the specified date.
-
- EXAMPLE
- ...
- ep = GregorianMoonAge(18,9,1994);
- ...
-
- NOTES
- Use this only for 1582 to 4100!
- This is only an experimental version!
-
- BUGS
- unknown.
-
- SEE ALSO
- MoonMonthAge(),GregorianEP(),GregorianMoonPhase()
-
- Date/GregorianMoonPhase Date/GregorianMoonPhase
-
- NAME
- GregorianMoonPhase -- Searches for the next moon phase (V33.098)
-
- SYNOPSIS
- jd = GregorianMoonPhase(day,month,year,phase);
- d0 d0 d1 d2 d3
-
- unsigned long GregorianMoonPhase(const unsigned short day,
- const unsigned short month, const int year,
- const MoonPhases phase);
-
- FUNCTION
- Returns the next moon phase you are searching for after
- a specified date.
-
- INPUTS
- day - Start day for the search.
- month - Start month for the search.
- year - Start year for the search.
- phase - The moon phase you want to know.
-
- RESULT
- jd - The day (as JD) on wich the moon phase was found.
-
- EXAMPLE
- ...
- jd = GregorianMoonPhase(18,9,1994,FullMoon);
- JDToGregorian(jd,&day,&month,&year);
- ...
-
- NOTES
- The range of this function is unknown to me!
- So use it only from 1583 to 2500.
- This is only an experimental version!
-
- BUGS
- unknown.
-
- SEE ALSO
- MoonMonthAge()
-
- Date/GregorianToJD Date/GregorianToJD
-
- NAME
- GregorianToJD -- Returns the JD for a date. (V33)
-
- SYNOPSIS
- jd = GregorianToJD(day,month,year);
- d0 d0 d1 d2
-
- unsigned long GregorianToJD(const unsigned short day,
- const unsigned short month, const int year);
-
- FUNCTION
- Returns the JD for a Gregorian date.
-
- INPUTS
- day - day of the date to convert
- month - month of the date to convert
- year - year of the date to convert
-
- RESULT
- jd - This is the JD
-
- EXAMPLE
- ...
- jd = GregorianToJD(23,1,1994);
- ...
-
- NOTES
- It is better to use this function only from 8 to 3200!
-
- BUGS
- unknown.
-
- SEE ALSO
- GSYearToJD(),GYearToScaliger(),GregorianDayDiff(),JulianToJD(),
- HeisToJD()
-
- Date/GregorianWeek Date/GregorianWeek
-
- NAME
- GregorianWeek -- Gets the weeknumber for a specified date. (V33)
-
- SYNOPSIS
- weeknr = GregorianWeek(day,month,year);
- d0 d0 d1 d2
-
- unsigned short GregorianWeek(const unsigned short day,
- const unsigned short month, const int year);
-
- FUNCTION
- GregorianWeek gets the number of the week for a specified date.
-
- INPUTS
- day - day of the date
- month - month of the date
- year - year of the date
-
- RESULT
- week - This is the number of the week the specified date lies in.
- If the first day in a new year is a Friday, Saturday or
- Sunday, this would be the last week of the last year!
- If the 29.12. is a Monday, the 30.12. is a Monday or a Tuesday,
- the 31.12. is a Monday, Tuesday or a Wednesday this is the
- first week of the next year!
-
- EXAMPLE
- ...
- weeknr = GregorianWeek(4,10,1582);
- ...
-
- NOTES
- It is better only to use this function for years from 0 to 3000!
-
- BUGS
- For years < 0 errors could occur.
-
- SEE ALSO
- JulianWeek(),HeisWeek(),GregorianWeekday(),GregorianDayDiff()
-
- Date/GregorianWeekday Date/GregorianWeekday
-
- NAME
- GregorianWeekday -- Gets the weekday of a specified date. (V33)
-
- SYNOPSIS
- weekday = GregorianWeekday(day,month,year);
- d0 d0 d1 d2
-
- Weekdays GregorianWeekday(const unsigned short day,
- unsigned short month, int year);
-
- FUNCTION
- GregorianWeekday gets the weekday for a specified date.
-
- INPUTS
- day - day of the date
- month - month of the date
- year - year of the date
-
- RESULT
- weekday - This result is of type:
- Weekdays = (dayerr,Monday,Tuesday,Wednesday,Thursday,Friday,
- Saturday,Sunday);
- dayerr will show you, that an error occurs!
-
- EXAMPLE
- ...
- weekday = GregorianWeekday(22,1,1994);
- if (weekday == dayerr)
- {
- ...
- }
- ...
-
- NOTES
- It is better only to use this function for years from 8 to 3200!
- In this version dayerr will only occur for the lost days :)
-
- BUGS
- It's not possible to use years < 0 (for more see JulianWeekday()).
-
- SEE ALSO
- JulianWeekday(),HeisWeekday()
-
- Date/GregorianYearDays Date/GregorianYearDays
-
- NAME
- GregorianYearDays -- Gives back the number of days in a year. (V33)
-
- SYNOPSIS
- days = GregorianYearDays(year);
- d0 d0
-
- unsigned int GregorianYearDays(const int year);
-
- FUNCTION
- GregorianYearDays gives you back the number of days in
- a specified year.
-
- INPUTS
- year - The year in which to count the days.
-
- RESULT
- days - The number of days the year uses.
-
- EXAMPLE
- ...
- days = GregorianYearDays(1994);
- printf("Days of 1994 : %d\n",days);
- ...
-
- NOTES
- It is better only to use this function for years from 8 to 3199!
-
- BUGS
- No known bugs.
-
- SEE ALSO
- GregorianMonthDays(),JulianYearDays(),HeisYearDays()
-
- Date/GSYearToJD Date/GSYearToJD
-
- NAME
- GSYearToJD -- Calcs the JD from a Scaliger year. (V33)
-
- SYNOPSIS
- jd = GSYearToJD(syear);
- d0 d0
-
- unsigned long GSYearToJD(const unsigned int syear);
-
- FUNCTION
- Returns the Julianday of a Scaliger year.
-
- INPUTS
- syear - Scaliger year
-
- RESULT
- jd - The Julianday
-
- EXAMPLE
- ...
- jd = GSYearToJD(4800);
- ...
-
- NOTES
- It is better to use this function only from 4707 to 7981!
-
- BUGS
- unknown.
-
- SEE ALSO
- JSYearToJD(),HSYearToJD()
-
- Date/GYearToScaliger Date/GYearToScaliger
-
- NAME
- GYearToScaliger -- Returns the year as Scaliger year. (V33)
-
- SYNOPSIS
- syear = GYearToScaliger(year);
- d0 d0
-
- unsigned int GYearToScaliger(const int year);
-
- FUNCTION
- Returns the Scaliger year.
-
- INPUTS
- year - Gregorian year
-
- RESULT
- syear - The Scaliger year
-
- EXAMPLE
- ...
- syear = GYearToScaliger(1994);
- ...
-
- NOTES
- It is better to use this function only from 8 to 3200!
-
- BUGS
- unknown.
-
- SEE ALSO
- JYearToScaliger(),HYearToScaliger()
-
- Date/HeisDayDiff Date/HeisDayDiff
-
- NAME
- HeisDayDiff -- Calculates the days between 2 dates. (V33)
-
- SYNOPSIS
- days = HeisDayDiff(day1,month1,year1,day2,month2,year2);
- d0 d0 d1 d2 d3 d4 d5
-
- long HeisDayDiff(const unsigned short day1, unsigned short month1,
- int year1, const unsigned short day2, unsigned short month2,
- int year2);
-
- FUNCTION
- HeisDayDiff gives you back the number of days between
- two specified dates.
-
- INPUTS
- day1 - day of the first date
- month1 - month of the first date
- year1 - year of the first date
- day2 - day of the second date
- month2 - month of the second month
- year2 - year of the second date
-
- RESULT
- days - The number of days between the two dates
- (positive if date1 <= date2).
-
- EXAMPLE
- ...
- days = HeisDayDiff(18,9,1970,22,1,1994);
- printf("Age of Kai Hofmann in days : %d\n",days);
- ...
-
- NOTES
- It is better only to use this function for years from 8 to 8000!
-
- BUGS
- If you use on of the dates 5.10.1582 to 14.10.1582 you will get an
- incorrect output because these days don't exist!
-
- SEE ALSO
- HeisLeapYear(),HeisMonthDays(),HeisYearDays(),
- JulianDayDiff(),GregorianDayDiff()
-
- Date/HeisDaysAfterWeekday Date/HeisDaysAfterWeekday
-
- NAME
- HeisDaysAfterWeekday -- Returns the diff to the wday after. (V33)
-
- SYNOPSIS
- days = HeisDaysAfterWeekday(day,month,year,weekday);
- d0 d0 d1 d2 d3
-
- unsigned short HeisDaysAfterWeekday(const unsigned short day,
- const unsigned short month, const int year,
- const Weekdays weekday);
-
- FUNCTION
- Returns the days to the weekday after the specified date.
- If you specify the 22.1.1994 (Saturday) and Thursday
- you get back 5!
- If you specify the 22.1.1994 and Saturday you get back 0
- (the same day)!
-
- INPUTS
- day - day of the date
- month - month of the date
- year - year of the date
- weekday - weekday to search for building difference
-
- RESULT
- days - The days after to the searched weekday.
-
- EXAMPLE
- ...
- days = HeisDaysAfterWeekday(22,1,1994,Thursday);
- ...
-
- NOTES
- It is better to use this function only from 8 to 8000!
-
- BUGS
- See HeisWeekday()!
-
- SEE ALSO
- HeisWeekday(),JulianDaysAfterWeekday(),GregorianDaysAfterWeekday()
-
- Date/HeisDaysBeforeWeekday Date/HeisDaysBeforeWeekday
-
- NAME
- HeisDaysBeforeWeekday -- Returns the diff to wday before. (V33)
-
- SYNOPSIS
- days = HeisDaysBeforeWeekday(day,month,year,weekday);
- d0 d0 d1 d2 d3
-
- unsigned short HeisDaysBeforeWeekday(const unsigned short day,
- const unsigned short month, const int year,
- const Weekdays weekday);
-
- FUNCTION
- Returns the days to the weekday before the specified date.
- If you specify the 22.1.1994 (Saturday) and Thursday
- you get back 2!
- If you specify the 22.1.1994 and Saturday you get back 0
- (the same day)!
-
- INPUTS
- day - day of the date
- month - month of the date
- year - year of the date
- weekday - weekday to search for building difference
-
- RESULT
- days - The days gets you back to the searched weekday (1-7)
- If you get back an 8 an error occurs!
-
- EXAMPLE
- ...
- days = HeisDaysBeforeWeekday(22,1,1994,Thursday);
- ...
-
- NOTES
- It is better to use this function only from 8 to 8000!
-
- BUGS
- See HeisWeekday()!
-
- SEE ALSO
- HeisWeekday(),JulianDaysBeforeWeekday(),GregorianDaysBeforeWeekday()
-
- Date/HeisDiffDate Date/HeisDiffDate
-
- NAME
- HeisDiffDate -- Returns the date for a diff to another date. (V33)
-
- SYNOPSIS
- HeisDiffDate(day,month,year,diffdays,dday,dmonth,dyear);
- d0 d1 d2 d3 a0 a1 a2
-
- void HeisDiffDate(const unsigned short day,
- const unsigned short month, const int year, int days,
- unsigned short *const dday, unsigned short *const dmonth,
- int *const dyear);
-
- void HeisDiffDate(const unsigned short day,
- const unsigned short month, const int year, int days,
- unsigned short &dday, unsigned short &dmonth, int &dyear);
-
- FUNCTION
- Returns the date which lies diffdays before/after the specified date.
-
- INPUTS
- day - day of the date
- month - month of the date
- year - year of the date
- diffdays - difference to the date in days
-
- RESULT
- dday - Destination day
- dmonth - Destination month
- dyear - Destination year
-
- EXAMPLE
- ...
- HeisDiffDate(23,1,1994,7,&dday,&dmonth,&dyear);
- ...
-
- NOTES
- It is better to use this function only from 8 to 8000!
-
- BUGS
- unknown.
-
- SEE ALSO
- HeisDayDiff(),HeisMonthDays(),JulianDiffDate(),GregorianDiffDate()
-
- Date/HeisEaster Date/HeisEaster
-
- NAME
- HeisEaster -- Returns the date of Easter in a year (V33)
-
- SYNOPSIS
- HeisEaster(year,dday,dmonth);
- d0 a0 a1
-
- void HeisEaster(const int year, unsigned short *const dday,
- unsigned short *const dmonth);
-
- void HeisEaster(const int year, unsigned short &dday,
- unsigned short &dmonth);
-
- FUNCTION
- Returns the date of Easter for a specified year.
-
- INPUTS
- year - Easter is calculated for this year
-
- RESULT
- dday - day of Easter Sunday
- dmonth - month of Easter Sunday
-
- EXAMPLE
- ...
- HeisEaster(1994,&dday,&dmonth);
- ...
-
- NOTES
- This is only a dummy to GregorianEaster!
- Use this only for 31 to 2099!
-
- BUGS
- Unknown.
-
- SEE ALSO
- JulianEaster(),GregorianEaster()
-
- Date/HeisLeapYear Date/HeisLeapYear
-
- NAME
- HeisLeapYear -- Checks if a year is a leap year. (V33)
-
- SYNOPSIS
- leapyear = HeisLeapYear(year);
- d0 d0
-
- bool HeisLeapYear(const int year);
-
- FUNCTION
- HeisLeapYear checks if a year is a leap year.
- For years after 1582 see GregorianLeapYear(),
- The correction from N. Heis says, that all years devideable by
- 3200 are no longer leap years!
- For years before 1582 see JulianLeapYear().
-
- INPUTS
- year - The year which should be checked (from -32768 to 32767)
- I think only values from 8 to 32767 are valid, because of
- the variant that was done by Augustus!
-
- RESULT
- leapyear - TRUE if the year is a leap year, otherwise false.
-
- EXAMPLE
- ...
- if (HeisLeapYear(1994))
- printf("leap year!\n");
- else
- printf("no leap year!\n");
- ...
-
- NOTES
- A year is now 365.2421875 days!
- Use this function only for values from 8 to 8000!
-
- BUGS
- No known bugs.
-
- SEE ALSO
- JulianLeapYear(),GregorianLeapYear()
-
- Date/HeisMonthDays Date/HeisMonthDays
-
- NAME
- HeisMonthDays -- Returns the number of days of a month. (V33)
-
- SYNOPSIS
- days = HeisMonthDays(month,year);
- d0 d0 d1
-
- unsigned short HeisMonthDays(const unsigned short month,
- const int year);
-
- FUNCTION
- HeisMonthDays returns the number of days a month in
- a specified year has.
- For the year 1582 and the month 10 there are only 21 days,
- because of the Gregorian-reform 10 days are deleted from
- the month (for more - look out for books about this!)
-
- INPUTS
- month - The month from which you want to get the number of days.
- year - The year in which the month is.
-
- RESULT
- days - The number of days the month uses, or 0 if you use
- an incorrect month.
-
- EXAMPLE
- ...
- days = HeisMonthDays(1,1994);
- printf("Days of January 1994 : %d\n",days);
- ...
-
- NOTES
- Use this function only for years from 8 to 8000!
-
- BUGS
- See GregorianMonthDays!
-
- SEE ALSO
- HeisLeapYear(),JulianMonthDays(),GregorianMonthDays()
-
- Date/HeisToJD Date/HeisToJD
-
- NAME
- HeisToJD -- Returns the JD for a date. (V33)
-
- SYNOPSIS
- jd = HeisToJD(day,month,year);
- d0 d0 d1 d2
-
- unsigned long HeisToJD(const unsigned short day,
- const unsigned short month, const int year);
-
- FUNCTION
- Returns the JD for a Heis date.
-
- INPUTS
- day - day of the date to convert
- month - month of the date to convert
- year - year of the date to convert
-
- RESULT
- jd - This is the JD
-
- EXAMPLE
- ...
- jd = HeisToJD(23,1,1994);
- ...
-
- NOTES
- It is better to use this function only from 8 to 3268!
-
- BUGS
- unknown.
-
- SEE ALSO
- HSYearToJD(),HYearToScaliger(),HeisDayDiff(),JulianToJD(),HeisToJD()
-
- Date/HeisWeek Date/HeisWeek
-
- NAME
- HeisWeek -- Gets the number of the week for a specified date. (V33)
-
- SYNOPSIS
- weeknr = HeisWeek(day,month,year);
- d0 d0 d1 d2
-
- unsigned short HeisWeek(const unsigned short day,
- const unsigned short month, const int year);
-
- FUNCTION
- HeisWeek gets the number of the week for a specified date.
-
- INPUTS
- day - day of the date
- month - month of the date
- year - year of the date
-
- RESULT
- week - This is the number of the week the specified date lies in.
- If the first day in a new year is a Friday, Saturday or
- Sunday, this would be the last week of the last year!
- If the 29.12. is a Monday, the 30.12. is a Monday or a Tuesday,
- the 31.12. is a Monday, Tuesday or a Wednesday this is the
- first week of the next year!
-
- EXAMPLE
- ...
- weeknr = HeisWeek(4,10,1582);
- ...
-
- NOTES
- It is better only to use this function for years from 0 to 8000!
-
- BUGS
- For years < 0 errors could occur.
-
- SEE ALSO
- JulianWeek(),GregorianWeek(),HeisWeekday(),HeisDayDiff()
-
- Date/HeisWeekday Date/HeisWeekday
-
- NAME
- HeisWeekday -- Gets the weekday of a specified date. (V33)
-
- SYNOPSIS
- weekday = HeisWeekday(day,month,year);
- d0 d0 d1 d2
-
- Weekdays HeisWeekday(const unsigned short day, unsigned short month,
- int year);
-
- FUNCTION
- HeisWeekday gets the weekday for a specified date.
-
- INPUTS
- day - day of the date
- month - month of the date
- year - year of the date
-
- RESULT
- weekday - This result is of type:
- Weekdays = (dayerr,Monday,Tuesday,Wednesday,Thursday,Friday,
- Saturday,Sunday);
- dayerr will show you, that an error occurs!
-
- EXAMPLE
- ...
- weekday = HeisWeekday(22,1,1994);
- if (weekday == dayerr)
- {
- ...
- }
- ...
-
- NOTES
- It is better only to use this function for years from 8 to 8000!
- In this version dayerr will only occur for the lost days :)
-
- BUGS
- It is not possible to use year < 0 (see JulianWeekday() for more).
-
- SEE ALSO
- JulianWeekday(),GregorianWeekday()
-
- Date/HeisYearDays Date/HeisYearDays
-
- NAME
- HeisYearDays -- Gives back the number of days in a year. (V33)
-
- SYNOPSIS
- days = HeisYearDays(year);
- d0 d0
-
- unsigned int HeisYearDays(const int year);
-
- FUNCTION
- HeisYearDays gives you back the number of days in
- a specified year.
-
- INPUTS
- year - The year in which to count the days.
-
- RESULT
- days - The number of days the year uses.
-
- EXAMPLE
- ...
- days = HeisYearDays(1994);
- printf("Days of 1994 : %d\n",days);
- ...
-
- NOTES
- It is better only to use this function for years from 8 to 8000!
-
- BUGS
- No known bugs.
-
- SEE ALSO
- HeisMonthDays(),JulianYearDays(),GregorianYearDays()
-
- Date/HSYearToJD Date/HSYearToJD
-
- NAME
- HSYearToJD -- Calcs the JD from a Scaliger year. (V33)
-
- SYNOPSIS
- jd = HSYearToJD(syear);
- d0 d0
-
- unsigned long HSYearToJD(const unsigned int syear);
-
- FUNCTION
- Returns the Julianday of a Scaliger year.
-
- INPUTS
- syear - Scaliger year
-
- RESULT
- jd - The Julianday
-
- EXAMPLE
- ...
- jd = HSYearToJD(6700);
- ...
-
- NOTES
- It is better to use this function only from 4707 to 7981!
- In this version only GSYearToJD() is called, because the
- Scaliger period is only valid to 3268
-
- BUGS
- unknown.
-
- SEE ALSO
- JSYearToJD(),GSYearToJD()
-
- Date/HYearToScaliger Date/HYearToScaliger
-
- NAME
- HYearToScaliger -- Returns the year as Scaliger year. (V33)
-
- SYNOPSIS
- syear = HYearToScaliger(year);
- d0 d0
-
- unsigned int HYearToScaliger(const int year);
-
- FUNCTION
- Returns the Scaliger year.
-
- INPUTS
- year - Heis year
-
- RESULT
- syear - The Scaliger year
-
- EXAMPLE
- ...
- syear = HYearToScaliger(1994);
- ...
-
- NOTES
- It is better to use this function only from 8 to 8000!
-
- BUGS
- The Scaliger period is defined to 3268!!!.
-
- SEE ALSO
- JYearToScaliger(),GYearToScaliger()
-
- Date/JDToGregorian Date/JDToGregorian
-
- NAME
- JDToGregorian -- Returns the Gregorian date for a JD. (V33.095)
-
- SYNOPSIS
- JDToGregorian(jd,day,month,year);
- d0 a0 a1 a2
-
- void JDToGregorian(const unsigned long jd, unsigned short *const day,
- unsigned short *const month, int *const year);
-
- void JDToGregorian(const unsigned long jd, unsigned short &day,
- unsigned short &month, int &year);
-
- FUNCTION
- Returns the Gregorian date for a JD.
-
- INPUTS
- jd - This is the given JD.
-
- RESULT
- day - Day of the date.
- month - Month of the date.
- year - Year of the date.
-
- EXAMPLE
- ...
- JDToGregorian(2299161,&day,&month,&year);
- ...
-
- NOTES
- It is better to use this function only from 1718867 to 2889835!
-
- BUGS
- unknown.
-
- SEE ALSO
- JDToJulian(),JDToHeis()
-
- Date/JDToHeis Date/JDToHeis
-
- NAME
- JDToHeis -- Returns the Heis date for a JD. (V33.095)
-
- SYNOPSIS
- JDToHeis(jd,day,month,year);
- d0 a0 a1 a2
-
- void JDToHeis(const unsigned long jd, unsigned short *const day,
- unsigned short *const month, int *const year);
-
- void JDToHeis(const unsigned long jd, unsigned short &day,
- unsigned short &month, int &year);
-
- FUNCTION
- Returns the Heis date for a JD.
-
- INPUTS
- jd - This is the given JD.
-
- RESULT
- day - Day of the date.
- month - Month of the date.
- year - Year of the date.
-
- EXAMPLE
- ...
- JDToHeis(2299161,&day,&month,&year);
- ...
-
- NOTES
- At the moment this is only a dummy to JDToGregorian, so:
- It is better to use this function only from 1718867 to 2889835!
-
- BUGS
- unknown.
-
- SEE ALSO
- JDToJulian(), JDToGregorian()
-
- Date/JDToJulian Date/JDToJulian
-
- NAME
- JDToJulian -- Returns the Julian date for a JD. (V33.095)
-
- SYNOPSIS
- JDToJulian(jd,day,month,year);
- d0 a0 a1 a2
-
- void JDToJulian(const unsigned long jd, unsigned short *const day,
- unsigned short *const month, int *const year);
-
- void JDToJulian(const unsigned long jd, unsigned short &day,
- unsigned short &month, int &year);
-
- FUNCTION
- Returns the Julian date for a JD.
-
- INPUTS
- jd - This is the given JD.
-
- RESULT
- day - Day of the date.
- month - Month of the date.
- year - Year of the date.
-
- EXAMPLE
- ...
- JDToJulian(2299160,&day,&month,&year);
- ...
-
- NOTES
- It is better to use this function only from 1718867 to 2299160!
-
- BUGS
- unknown.
-
- SEE ALSO
- JDToGregorian(),JDToHeis()
-
- Date/JDtoMJD Date/JDtoMJD
-
- NAME
- JDtoMJD -- Switches from JD to MJD. (V33)
-
- SYNOPSIS
- mjd = JDtoMJD(jd);
- d0 d0
-
- unsigned long JDtoMJD(const unsigned long jd);
-
- FUNCTION
- Returns the Modified Julianday of a Julianday.
-
- INPUTS
- jd - Julianday
-
- RESULT
- mjd - The Modified Julianday
-
- EXAMPLE
- ...
- mjd = JDtoMJD(2449354);
- ...
-
- NOTES
- none
-
- BUGS
- Only use this function for jd > 2400001, because mjd is only
- defined for this, otherwise system will crash!
-
- SEE ALSO
- MJDtoJD()
-
- Date/JDToTime Date/JDToTime
-
- NAME
- JDToTime -- Returns the real time for a JD time. (V33)
-
- SYNOPSIS
- JDToTime(jd,rhour,rmin,rsec);
- d0 a0 a1 a2
-
- void JDToTime(float jd, unsigned short *const rhour,
- unsigned short *const rmin, unsigned short *const rsec);
-
- void JDToTime(float jd, unsigned short &rhour, unsigned short &rmin,
- unsigned short &rsec);
-
- FUNCTION
- Returns the real time for a JD time.
-
- INPUTS
- jd - JD time
-
- RESULT
- rhour - 24 hour real time
- rmin - real minutes
- rsec - real seconds
-
- EXAMPLE
- ...
- JDToTime(0.76543,&rhour,&rmin,&rsec);
- ...
-
- NOTES
- none.
-
- BUGS
- If jd is > 0 (including days) there will be occur arithmetic bugs!
-
- SEE ALSO
- TimeToJD()
-
- Date/JSYearToJD Date/JSYearToJD
-
- NAME
- JSYearToJD -- Calcs the JD from a Scaliger year. (V33)
-
- SYNOPSIS
- jd = JSYearToJD(syear);
- d0 d0
-
- unsigned long JSYearToJD(const unsigned int syear);
-
- FUNCTION
- Returns the Julianday of a Scaliger year.
-
- INPUTS
- syear - Scaliger year
-
- RESULT
- jd - The Julianday
-
- EXAMPLE
- ...
- jd = JSYearToJD(4800);
- ...
-
- NOTES
- It is better to use this function only from 4707 to 6295!
-
- BUGS
- unknown.
-
- SEE ALSO
- GSYearToJD(),HSYearToJD()
-
- Date/JulianDayDiff Date/JulianDayDiff
-
- NAME
- JulianDayDiff -- Calculates the days between 2 dates. (V33)
-
- SYNOPSIS
- days = JulianDayDiff(day1,month1,year1,day2,month2,year2);
- d0 d0 d1 d2 d3 d4 d5
-
- long JulianDayDiff(const unsigned short day1, unsigned short month1,
- int year1, const unsigned short day2, unsigned short month2,
- int year2);
-
- FUNCTION
- JulianDayDiff gives you back the number of days between
- two specified dates.
-
- INPUTS
- day1 - day of the first date
- month1 - month of the first date
- year1 - year of the first date
- day2 - day of the second date
- month2 - month of the second month
- year2 - year of the second date
-
- RESULT
- days - The number of days between the two dates
- (positive if date1 <= date2).
-
- EXAMPLE
- ...
- days = JulianDayDiff(18,9,1970,22,1,1994);
- printf("Age of Kai Hofmann in days : %d\n",days);
- ...
-
- NOTES
- It is better only to use this function for years from 8 to 1582!
-
- BUGS
- No known bugs.
-
- SEE ALSO
- JulianLeapYear(),JulianMonthDays(),JulianYearDays(),
- GregorianDayDiff(),HeisDayDiff()
-
- Date/JulianDaysAfterWeekday Date/JulianDaysAfterWeekday
-
- NAME
- JulianDaysAfterWeekday -- Returns the diff to the wday after. (V33)
-
- SYNOPSIS
- days = JulianDaysAfterWeekday(day,month,year,weekday);
- d0 d0 d1 d2 d3
-
- unsigned short JulianDaysAfterWeekday(const unsigned short day,
- const unsigned short month, const int year,
- const Weekdays weekday);
-
- FUNCTION
- Returns the days to the weekday after the specified date.
- If you specify the 22.1.1994 (Saturday) and Thursday
- you get back 5!
- If you specify the 22.1.1994 and Saturday you get back 0
- (the same day)!
-
- INPUTS
- day - day of the date
- month - month of the date
- year - year of the date
- weekday - weekday to search for building difference
-
- RESULT
- days - The days after to the searched weekday.
-
- EXAMPLE
- ...
- days = JulianDaysAfterWeekday(22,1,1994,Thursday);
- ...
-
- NOTES
- It is better to use this function only from 8 to 1582!
-
- BUGS
- See JulianWeekday()!
-
- SEE ALSO
- JulianWeekday(),GregorianDaysAfterWeekday(),HeisDaysAfterWeekday()
-
- Date/JulianDaysBeforeWeekday Date/JulianDaysBeforeWeekday
-
- NAME
- JulianDaysBeforeWeekday -- Returns the diff to the wday before. (V33)
-
- SYNOPSIS
- days = JulianDaysBeforeWeekday(day,month,year,weekday);
- d0 d0 d1 d2 d3
-
- unsigned short JulianDaysBeforeWeekday(const unsigned short day,
- const unsigned short month, const int year,
- const Weekdays weekday);
-
- FUNCTION
- Returns the days to the weekday before the specified date.
- If you specify the 22.1.1994 (Saturday) and Thursday
- you get back 2!
- If you specify the 22.1.1994 and Saturday you get back 0
- (the same day)!
-
- INPUTS
- day - day of the date
- month - month of the date
- year - year of the date
- weekday - weekday to search for building difference
-
- RESULT
- days - The days gets you back to the searched weekday (0-6)
- If you get back an 8 an error occurs!
-
- EXAMPLE
- ...
- days = JulianDaysBeforeWeekday(22,1,1994,Thursday);
- ...
-
- NOTES
- It is better to use this function only from 8 to 02.1582!
-
- BUGS
- See JulianWeekday()!
-
- SEE ALSO
- JulianWeekday(),GregorianDaysBeforeWeekday(),HeisDaysBeforeWeekday()
-
- Date/JulianDiffDate Date/JulianDiffDate
-
- NAME
- JulianDiffDate -- Returns the date for a diff to another date. (V33)
-
- SYNOPSIS
- JulianDiffDate(day,month,year,diffdays,dday,dmonth,dyear);
- d0 d1 d2 d3 a0 a1 a2
-
- void JulianDiffDate(const unsigned short day,
- const unsigned short month, const int year, int days,
- unsigned short *const dday, unsigned short *const dmonth,
- int *const dyear);
-
- void JulianDiffDate(const unsigned short day,
- const unsigned short month, const int year, int days,
- unsigned short &dday, unsigned short &dmonth, int &dyear);
-
- FUNCTION
- Returns the date which lies diffdays before/after the specified date.
-
- INPUTS
- day - day of the date
- month - month of the date
- year - year of the date
- diffdays - difference to the date in days
-
- RESULT
- dday - Destination day
- dmonth - Destination month
- dyear - Destination year
-
- EXAMPLE
- ...
- JulianDiffDate(23,1,1994,7,&dday,&dmonth,&dyear);
- ...
-
- NOTES
- It is better to use this function only from 8 to 1582!
-
- BUGS
- unknown.
-
- SEE ALSO
- JulianDayDiff(),JulianMonthDays(),GregorianDiffDate(),HeisDiffDate()
-
- Date/JulianEaster Date/JulianEaster
-
- NAME
- JulianEaster -- Returns the date of Easter in a year (V33.097)
-
- SYNOPSIS
- JulianEaster(year,dday,dmonth);
- d0 a0 a1
-
- void JulianEaster(const int year, unsigned short *const dday,
- unsigned short *const dmonth);
-
- void JulianEaster(const int year, unsigned short &dday,
- unsigned short &dmonth);
-
- FUNCTION
- Returns the date of Easter for a specified year.
-
- INPUTS
- year - Easter is calculated for this year
-
- RESULT
- dday - day of Easter Sunday
- dmonth - month of Easter Sunday
-
- EXAMPLE
- ...
- JulianEaster(1994,&dday,&dmonth);
- ...
-
- NOTES
- Use this only for 31 to 1582!
-
- BUGS
- None.
-
- SEE ALSO
- GregorianEaster(),HeisEaster()
-
- Date/JulianLeapYear Date/JulianLeapYear
-
- NAME
- JulianLeapYear -- Checks if a year is a leap year. (V33)
-
- SYNOPSIS
- leapyear = JulianLeapYear(year);
- d0 d0
-
- bool JulianLeapYear(const int year);
-
- FUNCTION
- JulianLeapYear checks if a year is a leap year in the Julian calendar
- For years after Chr. it checks if the year is devideable by 4.
- For years before Chr. a leap year must have a modulo 4 value of 1
-
- INPUTS
- year - The year which should be checked (from -32768 to 32767)
- I think only values from 8 to 32767 are valid, because of
- the variant that was done by Augustus!
-
- RESULT
- leapyear - TRUE if the year is a leap year, otherwise false.
-
- EXAMPLE
- ...
- if (JulianLeapYear(1994))
- printf("leap year!\n");
- else
- printf("no leap year!\n");
- ...
-
- NOTES
- A year is 365.25 days long!
- Use this function only for values from 8 to 1582!
-
- BUGS
- No known bugs.
-
- SEE ALSO
- GregorianLeapYear(),HeisLeapYear()
-
- Date/JulianMonthDays Date/JulianMonthDays
-
- NAME
- JulianMonthDays -- Returns the number of days of a month. (V33)
-
- SYNOPSIS
- days = JulianMonthDays(month,year);
- d0 d0 d1
-
- unsigned short JulianMonthDays(const unsigned short month,
- const int year);
-
- FUNCTION
- JulianMonthDays gives returns the number of days a month in
- a specified year has.
-
- INPUTS
- month - The month from which you want to get the number of days.
- year - The year in which the month is.
-
- RESULT
- days - The number of days the month uses, or 0 if you use
- an incorrect month.
-
- EXAMPLE
- ...
- days = JulianMonthDays(1,1994);
- printf("Days of January 1994 : %d\n",days);
- ...
-
- NOTES
- It is better only to use this function for years from 8 to 09.1582!
-
- BUGS
- No known bugs.
-
- SEE ALSO
- JulianLeapYear(),GregorianMonthDays(),HeisMonthDays()
-
- Date/JulianToJD Date/JulianToJD
-
- NAME
- JulianToJD -- Returns the JD for a date. (V33)
-
- SYNOPSIS
- jd = JulianToJD(day,month,year);
- d0 d0 d1 d2
-
- unsigned long JulianToJD(const unsigned short day,
- const unsigned short month, const int year);
-
- FUNCTION
- Returns the JD for a Julian date.
-
- INPUTS
- day - day of the date to convert
- month - month of the date to convert
- year - year of the date to convert
-
- RESULT
- jd - This is the JD
-
- EXAMPLE
- ...
- jd = JulianToJD(23,1,1994);
- ...
-
- NOTES
- It is better to use this function only from 8 to 1582!
-
- BUGS
- unknown.
-
- SEE ALSO
- JSYearToJD(),JYearToScaliger(),JulianDayDiff(),GregorianToJD(),
- HeisToJD()
-
- Date/JulianWeek Date/JulianWeek
-
- NAME
- JulianWeek -- Gets the number of the week for a specified date. (V33)
-
- SYNOPSIS
- weeknr = JulianWeek(day,month,year);
- d0 d0 d1 d2
-
- unsigned short JulianWeek(const unsigned short day,
- const unsigned short month, const int year);
-
- FUNCTION
- JulianWeek gets the number of the week for a specified date.
-
- INPUTS
- day - day of the date
- month - month of the date
- year - year of the date
-
- RESULT
- week - This is the number of the week the specified date lies in.
- If the first day in a new year is a Friday, Saturday or
- Sunday, this would be the last week of the last year!
- If the 29.12. is a Monday, the 30.12. is a Monday or a Tuesday,
- the 31.12. is a Monday, Tuesday or a Wednesday this is the
- first week of the next year!
-
- EXAMPLE
- ...
- weeknr = JulianWeek(4,10,1582);
- ...
-
- NOTES
- It is is better only to use this function for years from 0 to 1582!
-
- BUGS
- For years < 0 errors could occur.
-
- SEE ALSO
- GregorianWeek(),HeisWeek(),JulianWeekday(),JulianDayDiff()
-
- Date/JulianWeekday Date/JulianWeekday
-
- NAME
- JulianWeekday -- Gets the weekday of a specified date. (V33)
-
- SYNOPSIS
- weekday = JulianWeekday(day,month,year);
- d0 d0 d1 d2
-
- Weekdays JulianWeekday(const unsigned short day,
- unsigned short month, int year);
-
- FUNCTION
- JulianWeekday gets the weekday for a specified date.
-
- INPUTS
- day - day of the date
- month - month of the date
- year - year of the date
-
- RESULT
- weekday - This result is of type:
- Weekdays = (dayerr,Monday,Tuesday,Wednesday,Thursday,Friday,
- Saturday,Sunday);
- dayerr will show you, that an error occurs!
-
- EXAMPLE
- ...
- weekday = JulianWeekday(4,10,1582);
- if (weekday == dayerr)
- {
- ...
- }
- ...
-
- NOTES
- It is better only to use this function for years from 1 to 02.1582!
- In this version no dayerr will occur!
-
- BUGS
- For years <= 0 errors could occur, or systemcrashs(?).
-
- SEE ALSO
- GregorianWeekday(),HeisWeekday()
-
- Date/JulianYearDays Date/JulianYearDays
-
- NAME
- JulianYearDays -- Gives back the number of days in a year. (V33)
-
- SYNOPSIS
- days = JulianYearDays(year);
- d0 d0
-
- unsigned int JulianYearDays(const int year);
-
- FUNCTION
- JulianYearDays gives you back the number of days in
- a specified year.
-
- INPUTS
- year - The year in which to count the days.
-
- RESULT
- days - The number of days the year uses.
-
- EXAMPLE
- ...
- days = JulianYearDays(1994);
- printf("Days of 1994 : %d\n",days);
- ...
-
- NOTES
- It is better only to use this function for years from 8 to 1581!
-
- BUGS
- No known bugs.
-
- SEE ALSO
- JulianMonthDays(),GregorianYearDays(),HeisYearDays()
-
- Date/JYearToScaliger Date/JYearToScaliger
-
- NAME
- JYearToScaliger -- Returns the year as Scaliger year. (V33)
-
- SYNOPSIS
- syear = JYearToScaliger(year);
- d0 d0
-
- unsigned int JYearToScaliger(const int year);
-
- FUNCTION
- Returns the Scaliger year.
-
- INPUTS
- year - Julian year
-
- RESULT
- syear - The Scaliger year
-
- EXAMPLE
- ...
- syear = JYearToScaliger(1582);
- ...
-
- NOTES
- It is better to use this function only from 8 to 1582!
-
- BUGS
- unknown.
-
- SEE ALSO
- GYearToScaliger(),HYearToScaliger()
-
- Date/LMT Date/LMT
-
- NAME
- LMT -- Calculates your local time in your timezone (V33)
-
- SYNOPSIS
- secs = LMT(secs,meridian,pos);
- d0 d0 d1 d2
-
- unsigned long LMT(const unsigned long secs,
- const float meridiandegree, const float posdegree);
-
- FUNCTION
- Calculates your Local Mean Time of your place!
-
- INPUTS
- secs - Seconds of the running day (hours*3600+min*60+sec)
- meridian - Degrees of your timezone-meridian
- pos - Degrees of your place
-
- RESULT
- secs - Local seconds of the running day
-
- EXAMPLE
- ...
- secs = LMT(76080,-15.0,-8.923055556);
- ...
-
- NOTES
- none
-
- BUGS
- No errorcheck, if you put in valid degrees (-180 to +180)
-
- SEE ALSO
-
-
- Date/MJDtoJD Date/MJDtoJD
-
- NAME
- MJDtoJD -- Switches from MJD to JD. (V33)
-
- SYNOPSIS
- jd = MJDtoJD(mjd);
- d0 d0
-
- unsigned long MJDtoJD(const unsigned long mjd);
-
- FUNCTION
- Returns the Julianday of a Modified Julianday.
-
- INPUTS
- mjd - Modified Julianday
-
- RESULT
- jd - The Julianday
-
- EXAMPLE
- ...
- jd = MJDtoJD(49353);
- ...
-
- NOTES
- none
-
- BUGS
- unknown.
-
- SEE ALSO
- JDtoMJD()
-
- Date/MonthShortText Date/MonthShortText
-
- NAME
- MonthShortText -- Get the month as short text string. (V33.092)
-
- SYNOPSIS
- maxlen = MonthShortText(month,mtext,lang);
- d0 d0 a0 d1
-
- unsigned short MonthShortText(const unsigned short month,
- char *const mtext, Languages lang);
-
- FUNCTION
- This function gets the short text string for the month-number.
-
- INPUTS
- month - Month to transform into a string.
- mtext - Pointer to a string to fill in the short month-text.
- lang - Language for which you want the short month-text.
-
- RESULT
- maxlen - Maximum possible length for the short month-string, this
- should help you if you want to justify the string right or if
- you want to center it (Normal is three!).
- 0 indicates an error!
-
- EXAMPLE
- ...
- char mtxt[4];
- ...
- maxlen = MonthShortText(12,&mtxt,English);
- ...
-
- NOTES
- Available languages:
- Locale : This is an Amiga >= OS2.1 only feature, for <= OS2.0
- and other systems it will return English text!
- English
- Deutsch
- français : For non ISO8859_Latin1-systems this is called francais!
- español : For non ISO8859_Latin1-systems this is called espanol!
- português : For non ISO8859_Latin1-systems this is called portugues!
- dansk
- italiano
- nederlands
- norsk
- svenska
- polski
- suomalainen
-
- BUGS
- In this version there is no check, if there is enough space in
- wtext!
-
- SEE ALSO
- WeekdayText(),WeekdayShortText(),MonthText()
-
- Date/MonthText Date/MonthText
-
- NAME
- MonthText -- Get the month as text string. (V33.091)
-
- SYNOPSIS
- maxlen = MonthText(month,mtext,lang);
- d0 d0 a0 d1
-
- unsigned short MonthText(const unsigned short month,
- char *const mtext, Languages lang);
-
- FUNCTION
- This function gets the text string for the month-number.
-
- INPUTS
- month - Month to transform into a string.
- mtext - Pointer to a string to fill in the month-text.
- lang - Language for which you want the month-text.
-
- RESULT
- maxlen - Maximum possible length for the month-string, this should
- help you if you want to justify the string right or if you
- want to center it!
- 0 indicates an error!
-
- EXAMPLE
- ...
- char mtxt[20];
- ...
- maxlen = MonthText(12,&mtxt,English);
- ...
-
- NOTES
- Available languages:
- Locale : This is an Amiga >= OS2.1 only feature, for <= OS2.0
- and other systems it will return English text!
- English
- Deutsch
- français : For non ISO8859_Latin1-systems this is called francais!
- español : For non ISO8859_Latin1-systems this is called espanol!
- português : For non ISO8859_Latin1-systems this is called portugues!
- dansk
- italiano
- nederlands
- norsk
- svenska
- polski
- suomalainen
-
- BUGS
- In this version there is no check, if there is enough space in
- wtext!
-
- SEE ALSO
- WeekdayText(),WeekdayShortText(),MonthShortText()
-
- Date/ScaligerYearToG Date/ScaligerYearToG
-
- NAME
- ScaligerYearToG -- Returns the Scaliger year as Gregorian year. (V33)
-
- SYNOPSIS
- year = ScaligerYearToG(syear);
- d0 d0
-
- int ScaligerYearToG(const unsigned int syear);
-
- FUNCTION
- Returns the Gregorian year of a Scaliger year.
-
- INPUTS
- syear - Scaliger year
-
- RESULT
- year - The Gregorian year
-
- EXAMPLE
- ...
- year = ScaligerYearToG(6400);
- ...
-
- NOTES
- It is better to use this function only from 4707 to 7981!
-
- BUGS
- unknown.
-
- SEE ALSO
- ScaligerYearToJ(),ScaligerYearToH()
-
- Date/ScaligerYearToH Date/ScaligerYearToH
-
- NAME
- ScaligerYearToH -- Returns the Scaliger year as Heis year. (V33)
-
- SYNOPSIS
- year = ScaligerYearToH(syear);
- d0 d0
-
- int ScaligerYearToH(const unsigned int syear);
-
- FUNCTION
- Returns the Heis year of a Scaliger year.
-
- INPUTS
- syear - Scaliger year
-
- RESULT
- year - The Heis year
-
- EXAMPLE
- ...
- year = ScaligerYearToH(7000);
- ...
-
- NOTES
- It is better to use this function only from 4707 to 7981!
-
- BUGS
- unknown.
-
- SEE ALSO
- ScaligerYearToJ(),ScaligerYearToG()
-
- Date/ScaligerYearToJ Date/ScaligerYearToJ
-
- NAME
- ScaligerYearToJ -- Returns the Scaliger year as Julian year. (V33)
-
- SYNOPSIS
- year = ScaligerYearToJ(syear);
- d0 d0
-
- int ScaligerYearToJ(const unsigned int syear);
-
- FUNCTION
- Returns the Julian year of a Scaliger year.
-
- INPUTS
- syear - Scaliger year
-
- RESULT
- year - The Julian year
-
- EXAMPLE
- ...
- year = ScaligerYearToJ(4800);
- ...
-
- NOTES
- It is better to use this function only from 4707 to 6295!
-
- BUGS
- unknown.
-
- SEE ALSO
- ScaligerYearToG(),ScaligerYearToH()
-
- Date/SecToTime Date/SecToTime
-
- NAME
- SecToTime -- Returns the time from seconds (V33)
-
- SYNOPSIS
- SecToTime(secs,hour,min,sec);
- d0 a0 a1 a2
-
- void SecToTime(unsigned long secs, unsigned short *const hour,
- unsigned short *const min, unsigned short *const sec);
-
- void SecToTime(unsigned long secs, unsigned short &hour,
- unsigned short &min, unsigned short &sec);
-
- FUNCTION
- Gives you back the time from the specified seconds
-
- INPUTS
- secs - Time in seconds
-
- RESULT
- hour - hours (0-23)
- min - minutes (0-59)
- sec - seconds (0-59)
-
- EXAMPLE
- ...
- SecToTime(76860,&hour,&min,&sec);
- ...
-
- NOTES
- Don't forget to convert 24h time to AM/PM time if needed!
-
- BUGS
- No errorcheck, if you use a valid time
-
- SEE ALSO
- TimeToSec()
-
- Date/SetCountry Date/SetCountry
-
- NAME
- SetCountry -- Sets the country defaults for the date lib. (V33.140)
-
- SYNOPSIS
- SetCountry(country);
- d0
-
- void SetCountry(const Countries country);
-
- FUNCTION
- SetCountry sets the defaults for your country.
- Like: correct start of gregorian calendar.
-
- INPUTS
- country - Country to set.
-
- RESULT
- None.
-
- EXAMPLE
- ...
- SetCountry(unknown);
- ...
-
- NOTES
- Will *not* work correct if something other than 'unknown' is set
- in the moment!
-
- BUGS
- None.
-
- SEE ALSO
-
-
- Date/TimeDiff Date/TimeDiff
-
- NAME
- TimeDiff -- Returns the difference in seconds (V33)
-
- SYNOPSIS
- secs = TimeDiff(hour1,min1,sec1,hour2,min2,sec2);
- d0 d0 d1 d2 d3 d4 d5
-
- long TimeDiff(const unsigned short hour1, const unsigned short min1,
- const unsigned short sec1, const unsigned short hour2,
- const unsigned short min2, const unsigned short sec2);
-
- FUNCTION
- Gives you back the difference between the first and the second time
- in seconds.
-
- INPUTS
- hour1 - hours of the first time
- min1 - minutes of the first time
- sec1 - seconds of the first time
- hour2 - hours of the second time
- min2 - minutes of the second time
- sec2 - seconds of the second time
-
- RESULT
- secs - The difference betwen time1 and time1 in seconds.
-
- EXAMPLE
- ...
- secs = TimeDiff(21,15,00,22,0,0);
- ...
-
- NOTES
- Don't forget to convert AM/PM time to 24h time!
- use SecToTime() to convert the seconds back to a hour,min,secs
- format!
-
- BUGS
- No errorcheck, if you use a valid time
-
- SEE ALSO
- SecToTime(),TimeToSec()
-
- Date/TimeToJD Date/TimeToJD
-
- NAME
- TimeToJD -- Returns the JD for a time. (V33)
-
- SYNOPSIS
- jd = TimeToJD(hour,min,sec);
- d0 d0 d1 d2
-
- float TimeToJD(const unsigned short hour, const unsigned short min,
- const unsigned short sec);
-
- FUNCTION
- Returns the JD for a specified time.
-
- INPUTS
- hour - hour of the time to convert
- min - minute of the time to convert
- sec - sec. of the time to convert
-
- RESULT
- jd - This is the JD time
-
- EXAMPLE
- ...
- jd = TimeToJD(16,33,0);
- ...
-
- NOTES
- none
-
- BUGS
- There is no check, if the specified time is a valid time!
-
- SEE ALSO
- JDToTime()
-
- Date/TimeToSec Date/TimeToSec
-
- NAME
- TimeToSec -- Returns the time in seconds (V33)
-
- SYNOPSIS
- secs = TimeToSec(hour,min,sec);
- d0 d0 d1 d2
-
- unsigned long TimeToSec(const unsigned short hour,
- const unsigned short min, const unsigned short sec);
-
- FUNCTION
- Gives you back the time in seconds
-
- INPUTS
- hour - hours you want (0-23)
- min - minutes you want (0-59)
- sec - seconds you want (0-59)
-
- RESULT
- secs - Time in seconds
-
- EXAMPLE
- ...
- secs = TimeToSec(21,15,00);
- ...
-
- NOTES
- Don't forget to convert AM/PM time to 24h time!
-
- BUGS
- No errorcheck, if you use a valid time
-
- SEE ALSO
- SecToTime()
-
- Date/TimeZoneFactor Date/TimeZoneFactor
-
- NAME
- TimeZoneFactor -- Returns the value you have to add to GMT time (V33)
-
- SYNOPSIS
- addhours = TimeZoneFactor(degrees);
- d0 d0
-
- short TimeZoneFactor(const short degree);
-
- FUNCTION
- This gives you the hours you have to add to GMT time,
- specified on the fact, that a timezone is 15 degrees
- and that GMT is centered on 0 degrees!
-
- INPUTS
- degrees - Position of timezone you live in
- (from -180 east to +180 west)
-
- RESULT
- addhours - Time to add to GMT time to get your locale zone time
- (-12 to +12)
-
- EXAMPLE
- ...
- addhours = TimeZoneFactor(-8);
- ...
-
- NOTES
- none
-
- BUGS
- No errorcheck, if you put in valid degrees (-180 to +180)
- Only full degrees are supportet, keep sure that you
- round in the right way for 0.x degree places
- I am not sure about the correct +/- behaviour!!!
-
- SEE ALSO
-
-
- Date/ValidGregorianDate Date/ValidGregorianDate
-
- NAME
- ValidGregorianDate -- Checks if the date is a valid date (V33.135)
-
- SYNOPSIS
- valid = ValidGregorianDate(day,month,year);
- d0 d0 d1 d2
-
- bool ValidGregorianDate(const unsigned short day,
- const unsigned short month, const int year);
-
- FUNCTION
- ValidGregorianDate checks if the date is valid.
-
- INPUTS
- day - Day of the date.
- month - Month of the date.
- year - Year of the date.
-
- RESULT
- valid - true : The date is ok.
- false : This is not a correct date!
-
- EXAMPLE
- ...
- if (ValidGregorianDate(29,2,2000))
- printf("ok\n");
- else
- printf("wrong date!!!\n");
- ...
-
- NOTES
- None.
-
- BUGS
- None.
-
- SEE ALSO
- ValidTime(),ValidJulianDate(),ValidHeisDate()
-
- Date/ValidHeisDate Date/ValidHeisDate
-
- NAME
- ValidHeisDate -- Checks if the date is a valid date (V33.135)
-
- SYNOPSIS
- valid = ValidHeisDate(day,month,year);
- d0 d0 d1 d2
-
- bool ValidHeisDate(const unsigned short day,
- const unsigned short month, const int year);
-
- FUNCTION
- ValidHeisDate checks if the date is valid.
-
- INPUTS
- day - Day of the date.
- month - Month of the date.
- year - Year of the date.
-
- RESULT
- valid - true : The date is ok.
- false : This is not a correct date!
-
- EXAMPLE
- ...
- if (ValidHeisDate(29,2,2000))
- printf("ok\n");
- else
- printf("wrong date!!!\n");
- ...
-
- NOTES
- None.
-
- BUGS
- None.
-
- SEE ALSO
- ValidTime(),ValidJulianDate(),ValidGregorianDate()
-
- Date/ValidJulianDate Date/ValidJulianDate
-
- NAME
- ValidJulianDate -- Checks if the date is a valid date (V33.135)
-
- SYNOPSIS
- valid = ValidJulianDate(day,month,year);
- d0 d0 d1 d2
-
- bool ValidJulianDate(const unsigned short day,
- const unsigned short month, const int year);
-
- FUNCTION
- ValidJulianDate checks if the date is valid.
-
- INPUTS
- day - Day of the date.
- month - Month of the date.
- year - Year of the date.
-
- RESULT
- valid - true : The date is ok.
- false : This is not a correct date!
-
- EXAMPLE
- ...
- if (ValidJulianDate(29,2,2000))
- printf("ok\n");
- else
- printf("wrong date!!!\n");
- ...
-
- NOTES
- None.
-
- BUGS
- None.
-
- SEE ALSO
- ValidTime(),ValidGregorianDate(),ValidHeisDate()
-
- Date/ValidTime Date/ValidTime
-
- NAME
- ValidTime -- Checks if the time is a valid 24h-format time (V33.135)
-
- SYNOPSIS
- valid = ValidTime(hour,min,sec);
- d0 d0 d1 d2
-
- bool ValidTime(const unsigned short hour,
- const unsigned short min, const unsigned short sec);
-
- FUNCTION
- ValidTime checks if the time (24h format only) is valid.
-
- INPUTS
- hour - Hour of the time.
- min - Minute of the time.
- sec - Second of the time.
-
- RESULT
- valid - true : The time is ok.
- false : This is not a correct time!
-
- EXAMPLE
- ...
- if (ValidTime(25,0,0))
- printf("ok\n");
- else
- printf("wrong time!!!\n");
- ...
-
- NOTES
- None.
-
- BUGS
- None.
-
- SEE ALSO
- ValidJulianDate(),ValidGregorianDate(),ValidHeisDate()
-
- Date/WeekdayShortText Date/WeekdayShortText
-
- NAME
- WeekdayShortText -- Get the weekday as short text string. (V33.092)
-
- SYNOPSIS
- maxlen = WeekdayShortText(wday,wtext,lang);
- d0 d0 a0 d1
-
- unsigned short WeekdayShortText(const Weekdays wday,
- char *const wtext, Languages lang);
-
- FUNCTION
- This function gets the short text string for the weekday-number.
-
- INPUTS
- wday - Weekday to transform into a string.
- wtext - Pointer to a string to fill in the short weekday-text.
- lang - Language for wich you want the short weekday-text.
-
- RESULT
- maxlen - Maximum possible length for the weekday-string, this should
- help you if you want to justify the string right or if you
- want to center it! (Normal it's two or three!)
- 0 indicates an error!
-
- EXAMPLE
- ...
- char wtxt[3];
- ...
- maxlen = WeekdayShortText(Monday,&wtxt,English);
- ...
-
- NOTES
- Available languages:
- Locale : This is an Amiga >= OS2.1 only feature, for <= OS2.0
- and other systems it will return English text!
- English
- Deutsch
- français : For non ISO8859_Latin1-systems this is called francais!
- español : For non ISO8859_Latin1-systems this is called espanol!
- português : For non ISO8859_Latin1-systems this is called portugues!
- dansk
- italiano
- nederlands
- norsk
- svenska
- polski
- suomalainen
-
- BUGS
- In this version there is no check, if there is enough space in
- wtext!
-
- SEE ALSO
- WeekdayText(),MonthText(),MonthShortText()
-
- Date/WeekdayText Date/WeekdayText
-
- NAME
- WeekdayText -- Get the weekday as text string. (V33.091)
-
- SYNOPSIS
- maxlen = WeekdayText(wday,wtext,lang);
- d0 d0 a0 d1
-
- unsigned short WeekdayText(const Weekdays wday, char *const wtext,
- Languages lang);
-
- FUNCTION
- This function gets the text string for the weekday-number.
-
- INPUTS
- wday - Weekday to transform into a string.
- wtext - Pointer to a string to fill in the weekday-text.
- lang - Language for wich you want the weekday-text.
-
- RESULT
- maxlen - Maximum possible length for the weekday-string, this should
- help you if you want to justify the string right or if you
- want to center it!
- 0 indicates an error!
-
- EXAMPLE
- ...
- char wtxt[20];
- ...
- maxlen = WeekdayText(Monday,&wtxt,English);
- ...
-
- NOTES
- Available languages:
- Locale : This is an Amiga >= OS2.1 only feature, for <= OS2.0
- and other systems it will return English text!
- English
- Deutsch
- français : For non ISO8859_Latin1-systems this is called francais!
- español : For non ISO8859_Latin1-systems this is called espanol!
- português : For non ISO8859_Latin1-systems this is called portugues!
- dansk
- italiano
- nederlands
- norsk
- svenska
- polski
- suomalainen
-
- BUGS
- In this version there is no check, if there is enough space in
- wtext!
-
- SEE ALSO
- MonthText(),WeekdayShortText(),MonthShortText()
-
-