{"id":18441532,"url":"https://github.com/zokis/dateobjects","last_synced_at":"2025-04-14T17:56:15.762Z","repository":{"id":15487835,"uuid":"18221560","full_name":"zokis/DateObjects","owner":"zokis","description":"Date Objects","archived":false,"fork":false,"pushed_at":"2019-08-28T23:16:06.000Z","size":20,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-20T07:46:24.841Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zokis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-28T18:05:09.000Z","updated_at":"2019-08-28T23:16:08.000Z","dependencies_parsed_at":"2022-08-25T16:50:21.385Z","dependency_job_id":null,"html_url":"https://github.com/zokis/DateObjects","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zokis%2FDateObjects","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zokis%2FDateObjects/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zokis%2FDateObjects/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zokis%2FDateObjects/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zokis","download_url":"https://codeload.github.com/zokis/DateObjects/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248932655,"owners_count":21185365,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T06:38:12.869Z","updated_at":"2025-04-14T17:56:15.737Z","avatar_url":"https://github.com/zokis.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Date-Objects\n============\n\n[![Build Status](https://travis-ci.org/zokis/DateObjects.svg?branch=master)](https://travis-ci.org/zokis/DateObjects) [![PyPI version](https://badge.fury.io/py/DateObjects.svg)](http://badge.fury.io/py/DateObjects)\n\n## Install\n\n```sh\npip install dateobjects\n```\n\nDate Objects \n\n\nExamples:\n\nDate Examples:\n```python\n\u003e\u003e\u003e from dateobjects import Date\n\u003e\u003e\u003e from datetime import date\n\u003e\u003e\u003e d1 = Date(1991, 10, 15)\n\u003e\u003e\u003e d2 = Date(datetime=date(1991, 10, 25))\n\u003e\u003e\u003e from dateobjects import Day, Month, Year\n\u003e\u003e\u003e d = Day(25)\n\u003e\u003e\u003e m = Month(10)\n\u003e\u003e\u003e y = Year(1991)\n\u003e\u003e\u003e d3 = Date(y, m, d)\n\u003e\u003e\u003e d1, d2, d3\n(Date(1991, 10, 15), Date(1991, 10, 25), Date(1991, 10, 25))\n\u003e\u003e\u003e d1 == d2\nFalse\n\u003e\u003e\u003e d2 == d3\nTrue\n\u003e\u003e\u003e d1 \u003c d2\nTrue\n\u003e\u003e\u003e d1 \u003c= d2\nTrue\n\u003e\u003e\u003e d1 != d2\nTrue\n\u003e\u003e\u003e d1 \u003e= d2\nFalse\n\u003e\u003e\u003e d1 \u003e d2\nFalse\n\u003e\u003e\u003e d1.month = 12\n\u003e\u003e\u003e d1.month\nMonth(12)\n\u003e\u003e\u003e d1.month = Month(12)\n\u003e\u003e\u003e d1.month\nMonth(12)\n\u003e\u003e\u003e d1.is_first_month()\nFalse\n\u003e\u003e\u003e d1.is_last_month()\nTrue\n\u003e\u003e\u003e d1.day = 31\n\u003e\u003e\u003e d1.is_first_day()\nFalse\n\u003e\u003e\u003e d1.is_last_day()\nTrue\n\u003e\u003e\u003e d1.is_leap()\nFalse\n\u003e\u003e\u003e d1.year = 2020\n\u003e\u003e\u003e d1.is_leap()\nTrue\n\u003e\u003e\u003e d1.to_datetime()\ndatetime.date(2020, 12, 31)\n```\n\nDay Examples:\n```python\n\u003e\u003e\u003e from dateobjects import Day\n\u003e\u003e\u003e Day(0)\nTraceback (most recent call last):\n  File \"\u003cinput\u003e\", line 1, in \u003cmodule\u003e\n  File \"DateObjects/dateobjects.py\", line 82, in __init__\n    raise ValueError('day must be in 1..31')\nValueError: day must be in 1..31\n\u003e\u003e\u003e d1 = Day(10)\n\u003e\u003e\u003e d2 = Day(25)\n\u003e\u003e\u003e d1 == d2\nFalse\n\u003e\u003e\u003e d1 \u003c d2\nTrue\n\u003e\u003e\u003e d1 \u003c= d2\nTrue\n\u003e\u003e\u003e d1 \u003e d2\nFalse\n\u003e\u003e\u003e d1 \u003e= d2\nFalse\n\u003e\u003e\u003e d1 != d2\nTrue\n\u003e\u003e\u003e d1, d2\n(Day(10), Day(25))\n\u003e\u003e\u003e d1.is_first()\nFalse\n\u003e\u003e\u003e d1.is_last()\nFalse\n\u003e\u003e\u003e d1 = Day(28)\n\u003e\u003e\u003e d1.is_last(Month(2))\nTrue\n\u003e\u003e\u003e d1.is_last(Month(2), year=Year(2020))\nFalse\n```\n\nMonth Examples:\n```python\n\u003e\u003e\u003e from dateobjects import Month\n\u003e\u003e\u003e Month(90)\nTraceback (most recent call last):\n  File \"\u003cinput\u003e\", line 1, in \u003cmodule\u003e\n  File \"DateObjects/dateobjects.py\", line 64, in __init__\n    raise ValueError('month must be in 1..12')\nValueError: month must be in 1..12\n\u003e\u003e\u003e m1 = Month(10)\n\u003e\u003e\u003e m2 = Month(12)\n\u003e\u003e\u003e m1, m2\n(Month(10), Month(12))\n\u003e\u003e\u003e m1 \u003e m2\nFalse\n\u003e\u003e\u003e m1 \u003e= m2\nFalse\n\u003e\u003e\u003e m1 \u003c m2\nTrue\n\u003e\u003e\u003e m1 \u003c= m2\nTrue\n\u003e\u003e\u003e m1 != m2\nTrue\n\u003e\u003e\u003e m1 == m2\nFalse\n\u003e\u003e\u003e m1.is_first()\nFalse\n\u003e\u003e\u003e m1.is_last()\nFalse\n```\n\nYear Examples:\n```python\n\u003e\u003e\u003e from dateobjects import Year\n\u003e\u003e\u003e y1 = Year(1991)\n\u003e\u003e\u003e y2 = Year(1992)\n\u003e\u003e\u003e y1.is_leap()\nFalse\n\u003e\u003e\u003e y2.is_leap()\nTrue\n\u003e\u003e\u003e y1 \u003e y2\nFalse\n\u003e\u003e\u003e y1 \u003e= y2\nFalse\n\u003e\u003e\u003e y1 \u003c y2\nTrue\n\u003e\u003e\u003e y1 \u003c= y2\nTrue\n\u003e\u003e\u003e y1 == y2\nFalse\n\u003e\u003e\u003e y1 != y2\nTrue\n```\n\nDelta Examples:\n```python\n\u003e\u003e\u003e from dateobjects import Date, DayDelta, MonthDelta, YearDelta\n\u003e\u003e\u003e d = Date(1992, 2, 28)\n\u003e\u003e\u003e d\nDate(1992, 2, 28)\n\u003e\u003e\u003e d + DayDelta(1)\nDate(1992, 2, 29)\n\u003e\u003e\u003e d + DayDelta(2)\nDate(1992, 3, 1)\n\u003e\u003e\u003e d + MonthDelta(2)\nDate(1992, 4, 28)\n\u003e\u003e\u003e d + YearDelta(2)\nDate(1994, 2, 28)\n\u003e\u003e\u003e d\nDate(1992, 2, 28)\n\u003e\u003e\u003e d + DayDelta(-1)\nDate(1992, 2, 27)\n\u003e\u003e\u003e d - DayDelta(1)\nDate(1992, 2, 27)\n\u003e\u003e\u003e DayDelta(1) + d\nDate(1992, 2, 29)\n\u003e\u003e\u003e DayDelta(1) - d\nDate(1992, 2, 27)\n\u003e\u003e\u003e DayDelta(-1) + d\nDate(1992, 2, 27)\n\u003e\u003e\u003e d + MonthDelta(10) + YearDelta(100) + DayDelta(100)\nDate(2093, 4, 7)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzokis%2Fdateobjects","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzokis%2Fdateobjects","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzokis%2Fdateobjects/lists"}