{"id":19591708,"url":"https://github.com/svenvc/ztimestamp","last_synced_at":"2025-09-13T15:04:03.426Z","repository":{"id":3186099,"uuid":"4218473","full_name":"svenvc/ztimestamp","owner":"svenvc","description":"I am ZTimestamp, a Magnitude, a point in time, an alternative to DateAndTime and TimeStamp","archived":false,"fork":false,"pushed_at":"2025-03-14T16:30:09.000Z","size":625,"stargazers_count":12,"open_issues_count":0,"forks_count":12,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-27T14:38:53.785Z","etag":null,"topics":["chronology","datetime","formatter","parser","pharo","smalltalk","smtp-client","timestamp","timezone","timezone-database"],"latest_commit_sha":null,"homepage":null,"language":"Smalltalk","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"lduo/resume","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/svenvc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2012-05-03T20:30:26.000Z","updated_at":"2025-03-14T16:30:15.000Z","dependencies_parsed_at":"2023-09-23T04:11:57.550Z","dependency_job_id":"b681130b-aaea-4c28-a14b-0031d83b8984","html_url":"https://github.com/svenvc/ztimestamp","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/svenvc/ztimestamp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenvc%2Fztimestamp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenvc%2Fztimestamp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenvc%2Fztimestamp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenvc%2Fztimestamp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/svenvc","download_url":"https://codeload.github.com/svenvc/ztimestamp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenvc%2Fztimestamp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274981820,"owners_count":25385328,"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","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["chronology","datetime","formatter","parser","pharo","smalltalk","smtp-client","timestamp","timezone","timezone-database"],"created_at":"2024-11-11T08:30:26.953Z","updated_at":"2025-09-13T15:04:03.344Z","avatar_url":"https://github.com/svenvc.png","language":"Smalltalk","readme":"# ZTimestamp\n\n[![CI](https://github.com/svenvc/ztimestamp/actions/workflows/CI.yml/badge.svg)](https://github.com/svenvc/ztimestamp/actions/workflows/CI.yml)\n\nI am ZTimestamp.\n\n\nI am a Magnitude.\n\n\nI represent a point in time, a combination of a date and a time.\n\n\nI am an alternative for DateAndTime and TimeStamp.  \nI have nanosecond precision and live in the UTC/GMT/Zulu timezone.  \nI use ISO/International conventions and protocols only.   \nI support some essential arithmetic.  \n\nI have an efficient internal representation:\n\n\tjnd - the julian day number \u003cSmallInteger\u003e\n\tns - the number of nanoseconds since midnight, the beginning of the day \u003cSmallInteger\u003e\n\nExamples:\n\n\tZTimestamp now.\n\tZTimestamp fromString: '1969-07-20T20:17:40Z'.\n\tZTimestamp fromString: '2021-11-17T09:05:12.94603Z'.\n\nThere is some compatibility with existing, standard Chronology objects.\nI correctly parse representations with a timezone designator\nand can print a representation in arbitrary timezone offsets. \n\nThe key idea of ZTimestamp is to store and work with timestamps in UTC internally, \nwhile converting to and from specific local representations when needed interfacing with the user or other systems.\n\nZTimestampFormat, working with ZTimezone, is the tool to do these conversions.\n\n\tZCurrentTimezone\n\t  value: (ZTimezone id: #'Europe/Brussels')\n\t  during: [ ZTimestampFormat isoTZ useCurrentTimezone format: ZTimestamp now ].\n\n\n## Time Zone Database\n\nZTimezone adds proper timezone support based on the standard Olsen Timezone database. \n\n- http://en.wikipedia.org/wiki/Tz_database\n- https://www.iana.org/time-zones\n\nThe necessary information will be loaded, parsed and cached from a binary file of the zoneinfo database (see also man tzfile). This should work automagically on macOS and Unix, on Windows you have to download the necessary files and specify their location although there is a fallback that downloads the dataset (see #downloadFallbackZoneinfoDataset)\n\nLatest data: [tzdata-latest.tar.gz](https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz)\n\nGithub repository: https://github.com/eggert/tz\n\n\n## Formatting \u0026 Parsing\n\nAlso contains ZTimestampFormat, a 'by example' formatter/parser for DateAndTime, TimeStamp, Date, Time and ZTimestamp.\n\n\n## SNTP\n\nAlso contains ZTimestampSNTPClient, a simple SNTP client to check your local clock.\n\n\n## Installation\n\nThis is a [Pharo Smalltalk](http://wwww.pharo.st) project \nusing the [Tonel](https://github.com/pharo-vcs/tonel) source code format.\n\nIn Pharo 7 and up you can use Iceberg to load this project.\n\nYou can also load using the following expression:\n\n    Metacello new\n      baseline: 'ZTimestamp';\n      repository: 'github://svenvc/ztimestamp';\n      load.\n\nThere is also a ZTimestamp-GT package with extensions for GToolkit, which can be loaded with the 'gt' group.\n\nWritten and supported by Sven Van Caekenberghe. MIT Licensed.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvenvc%2Fztimestamp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsvenvc%2Fztimestamp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvenvc%2Fztimestamp/lists"}