GithubHelp home page GithubHelp logo

basemax / calendarlibrary Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 1.0 40 KB

The powerful library for display and convert calendar and handle the date units. (Soon)

License: GNU General Public License v3.0

C 100.00%
calendar calendar-lib calendar-library c c-calendar c-calendar-lib c-lib c-library gregorian gregorian-calendar

calendarlibrary's Introduction

CalendarLibrary

The powerful library for display and convert calendar and handle the date units.

This library will be release for C / C++.

Features

  • Convert calendar units and dates.
  • Display the current date.
  • Convert date to string date, alphabet.
  • Detecting the day of the date.

Abilities

  • string display(dateDisplayType type)
  • string format(string format)
  • date convert(dateType target)

Example of the future:

date _date=Date(Date_Gregorian, 2019, 3, 4);
print( _date.format("Date is %y/%m/%d.\n") );

Predefined constants

Date Type

Constant Description
DATE_GREGORIAN Gregorian calendar
DATE_JALALI Jalali calendar
DATE_LUNAR Lunar calendar

Date Display Type

Constant Description Sample Output
DATE_ATOM Atom 2013-04-12T15:52:01+00:00
DATE_COOKIE HTTP Cookies Friday, 12-Apr-13 15:52:01 UTC
DATE_RSS RSS Fri, 12 Aug 2013 15:52:01 +0000
DATE_ISO8601 ISO-8601 2013-04-12T15:52:01+0000
DATE_W3C World Wide Web Consortium 2013-04-12T15:52:01+00:00
DATE_RFC822 RFC 822 Fri, 12 Apr 13 15:52:01 +0000
DATE_RFC850 RFC 850 Friday, 12-Apr-13 15:52:01 UTC
DATE_RFC1036 RFC 1036 Fri, 12 Apr 13 15:52:01 +0000
DATE_RFC1123 RFC 1123 Fri, 12 Apr 2013 15:52:01 +0000
DATE_RFC2822 RFC 2822 Fri, 12 Apr 2013 15:52:01 +0000
DATE_RFC3339 Same as DATE_ATOM 2013-04-12T15:52:01+00:00

Format Specifies

Constant Description
%d The day of the month (from 01 to 31)
%D A textual representation of a day (three letters)
%j The day of the month without leading zeros (1 to 31)
%l (lowercase 'L') A full textual representation of a day
%N The ISO-8601 numeric representation of a day (1 for Monday, 7 for Sunday)
%S The English ordinal suffix for the day of the month (2 characters st, nd, rd or th. Works well with j)
%w A numeric representation of the day (0 for Sunday, 6 for Saturday)
%z The day of the year (from 0 through 365)
%W The ISO-8601 week number of year (weeks starting on Monday)
%F A full textual representation of a month (January through December)
%m A numeric representation of a month (from 01 to 12)
%M A short textual representation of a month (three letters)
%n A numeric representation of a month, without leading zeros (1 to 12)
%t The number of days in the given month
%L Whether it's a leap year (1 if it is a leap year, 0 otherwise)
%o The ISO-8601 year number
%Y A four digit representation of a year
%y A two digit representation of a year
%a Lowercase am or pm
%A Uppercase AM or PM
%B Swatch Internet time (000 to 999)
%g 12-hour format of an hour (1 to 12)
%G 24-hour format of an hour (0 to 23)
%h 12-hour format of an hour (01 to 12)
%H 24-hour format of an hour (00 to 23)
%i Minutes with leading zeros (00 to 59)
%s Seconds, with leading zeros (00 to 59)
%u Microseconds
%e The timezone identifier (Examples: UTC, GMT, Atlantic/Azores)
%I (capital i) Whether the date is in daylights savings time (1 if Daylight Savings Time, 0 otherwise)
%O Difference to Greenwich time (GMT) in hours (Example: +0100)
%P Difference to Greenwich time (GMT) in hours:minutes
%T Timezone abbreviations (Examples: EST, MDT)
%Z Timezone offset in seconds. The offset for timezones west of UTC is negative (-43200 to 50400)
%c The ISO-8601 date (e.g. 2013-05-05T16:34:42+00:00)
%r The RFC 2822 formatted date (e.g. Fri, 12 Apr 2013 12:01:05 +0200)
%U The seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)

Supported Calendar Systems

Name Type Group
Gregorian calendar
Jalali calendar Solar Iranian
Lunar calendar

View the full list at here.

Initial Start

According to Kambiz Asadzadeh, a CPP activist, there is a shortage of library for management and control over calendar and date, and the design of such a library can help a lot of developers in the world.

Given that I recently had a project for a company close to this, it was suggested to me to write such a library.

The developers are invited to develop this libraries in other languages such as Go, Rust, ...

License

CalendarLibrary is licensed under the GNU General Public License.

calendarlibrary's People

Contributors

basemax avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

d-e-f-e-a-t

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.