diff --git a/lepiter/186z1fpo6g5yl71al7s270hd4.lepiter b/lepiter/186z1fpo6g5yl71al7s270hd4.lepiter new file mode 100644 index 0000000..56307e1 --- /dev/null +++ b/lepiter/186z1fpo6g5yl71al7s270hd4.lepiter @@ -0,0 +1,1471 @@ +{ + "__schema" : "4.1", + "__type" : "page", + "children" : { + "__type" : "snippets", + "items" : [ + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:18:37.164583+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:20:53.10359+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "B1KY1FDCDQCnyCDeDaxiKw==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "ZTimestamp is the name of an add-on library for Pharo. It adds a more efficient timestamp implementation, real support for timezone, example based formatting and parsing and a tool to check NTP servers." + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:47:53.560376+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:47:53.560376+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "iM1IPVHCDQCEd5YtDaxiKw==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "#ZTimestamp" + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:26:25.119075+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:03:51.616905+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "EcB88FDCDQCy04JqDaxiKw==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "ZTimestamp is more efficient than DateAndTime because it only has two SmallInteger fields, so that it takes up less memory. Most operation are also faster. ZTimestamps are always in the UTC/GMT/Zulu timezone. This reduces the complexity of the implementation and improves understandability." + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:22:18.156735+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:26:55.819172+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "sFc94VDCDQCsG108DaxiKw==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "Let's explore an instance. " + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-12T13:47:26.899565+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:27:18.683287+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "sYlvvonBDQCSBrLUAla8FA==" + }, + "code" : "ZTimestamp now" + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:30:34.80077+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:37:53.917055+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "4ywu+FDCDQCzyOwVDaxiKw==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "The default string representation is ISO based, an unambiguous format. You will notice that the time is probably not your current time, it is UTC/GMT/Zulu time with a zero timezone offset. This is why the print string ends with a Z." + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:36:32.399159+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:37:16.284714+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "fxqvFFHCDQC5s3C3DaxiKw==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "The internal representation consists of 2 elements: the julian day number and the number of nanosecond since midnight." + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:37:23.053153+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:38:57.322441+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "twe0F1HCDQC8X+30DaxiKw==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "When parsing, incoming full ISO timestamps will be converted correctly, based on their offset." + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:39:22.54864+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:39:47.060254+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "DFfTHlHCDQC/OFclDaxiKw==" + }, + "code" : "ZTimestamp fromString: DateAndTime now printString" + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:44:36.601662+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:48:26.644844+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "BmyLMVHCDQCAcTW3DaxiKw==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "ZTimestamp supports the idea of storing and working with timestamps without timezones internally and only dealing with conversions on the edge, when parsing or formatting." + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:49:05.30215+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:49:06.257424+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "+3yPQVHCDQCE17XrDaxiKw==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "#ZTimezone" + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:49:08.708206+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:53:13.225898+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "h3bDQVHCDQCE56TYDaxiKw==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "With full support for the standard Olsen timezone database and modern timezone identifiers, ZTimezone can convert between timezone. Here is how you access a timezone." + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-21T20:29:47.987789+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-21T20:30:27.799369+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "NqztaUTCDQCNm8eUClFYVg==" + }, + "code" : "ZTimezone id: 'Europe/Brussels'" + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:22:18.703577+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:23:05.277396+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "Tv/zjlLCDQC7DIifDKC/LA==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "Note that you see the transitions, when the offset changes due to various reasons." + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:53:44.700784+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:54:29.02901+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "oMY2UlHCDQCKZBcRDaxiKw==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "There are many more standard identifiers." + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T09:54:55.371366+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:53:27.30625+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "AtlFqU/CDQCPVoLuClFYVg==" + }, + "code" : "ZTimezone timezoneIdentifiers" + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T12:00:15.313267+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T12:00:45.516089+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "dQx/aVHCDQCNgYBsDaxiKw==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "But there are also many non-standard identifiers possible." + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:55:35.062798+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:59:50.171587+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "ysbKWFHCDQCL45RtDaxiKw==" + }, + "code" : "ZTimezone id: 'Etc/GMT+5'" + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T12:01:03.118331+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T12:01:25.723554+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "0oBYbFHCDQCPUfTpDaxiKw==" + }, + "code" : "ZTimezone id: 'US/Mountain'" + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:54:36.61317+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:07:55.841183+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "QeNOVVHCDQCL3z9+DaxiKw==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "Once you have a timezone, you can convert from GMT to local wall clock time and vice versa. Note that the offset is *NOT* a constant, it depends on the point in time. If your timezone is Europe/Brussels, the following will result in a ZTimestamp object that equals the current local wall clock time in your timezone." + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T12:03:24.909325+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:05:08.641594+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "+QvMdFHCDQCTWl2TDaxiKw==" + }, + "code" : "(ZTimezone id: 'Europe/Brussels') gmtToLocal: ZTimestamp now" + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:07:10.382033+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:08:21.375844+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "nFRUWFLCDQCyd5fgDKC/LA==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "What you get back is again a ZTimestamp object, but it represents the local wall clock time, it is effectively shifted." + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:08:31.650731+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:17:50.0366+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "7TCoXVLCDQC1kkHADKC/LA==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "Here is how we go back from local time to GTM." + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T12:06:23.446085+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:16:47.241371+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "KFJwf1HCDQCX0o2sDaxiKw==" + }, + "code" : "localtime := (ZTimezone id: 'Europe/Brussels') gmtToLocal: ZTimestamp now.\r(ZTimezone id: 'Europe/Brussels') localToGmt: localtime" + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:18:20.479327+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:18:27.717991+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "3gLBgFLCDQC3j9GGDKC/LA==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "#ZTimestampFormat" + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:18:29.229666+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:37:19.676535+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "rolGgVLCDQC3/JYmDKC/LA==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "Dates and times are often formatted in various different ways. To help with that, ZTimestampFormat implements a formatter and parser based on an example. In the example, each component is numbered, based on a reference timestamp (see ZTimestampFormat class>>#reference12 and ZTimestampFormat class>>#reference24 as well as ZTimestampFormat class>>#formatSpecifications). So you write the specific reference the way you want and that is it. Here are two examples of predefined formats. " + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T10:48:52.511255+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T10:48:56.200565+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "sas4alDCDQCzZVz8DrMHgw==" + }, + "code" : "ZTimestampFormat iso" + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T10:48:58.0979+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T10:49:08.060111+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "Wu2NalDCDQCzeEE7DrMHgw==" + }, + "code" : "ZTimestampFormat rfc850" + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:39:42.793484+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:47:21.394411+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "gZIvzVLCDQCE92MvDKC/LA==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "You can see the parsed elements of the specification and how they are interpreted. Once you have a format, you can use it format or parse timestamps." + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:40:23.305193+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:40:47.883353+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "7LiZz1LCDQCGlc13DKC/LA==" + }, + "code" : "ZTimestampFormat iso format: ZTimestamp now" + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T15:37:32.31388+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T15:37:39.163863+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "AeePclTCDQCHn1hyCBmJTw==" + }, + "code" : "ZTimestampFormat isoNanoTZ format: ZTimestamp now" + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:41:02.518131+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:42:06.414312+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "VhXw0VLCDQCHXMp3DKC/LA==" + }, + "code" : "ZTimestampFormat iso parse: DateAndTime now truncated printString" + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:42:38.248857+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:43:16.617972+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "F8qk11LCDQCIlgkwDKC/LA==" + }, + "code" : "(ZTimestampFormat fromString: '2001-02-03T16:05:06.7Z') parse: DateAndTime now printString" + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:47:35.897663+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:48:14.289542+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "QI5i6VLCDQCNIJFMDKC/LA==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "Optionally, you can translate weekday and month names, and apply timezone conversions." + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:44:15.000865+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:44:24.039959+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "2iBp3VLCDQCJGJ4iDKC/LA==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "#ZTimestampSMPTClient" + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:44:24.555641+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:45:07.499473+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "Ce363VLCDQCJhZoODKC/LA==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "This is a little tool to check the local machine clock against against a NTP server. " + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:45:14.244519+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T13:45:19.315064+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "8Brx4FLCDQCLRvJhDKC/LA==" + }, + "code" : "ZTimestampSNTPClient new clockDifference" + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T15:22:34.000269+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T15:22:34.000269+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "Y68EPVTCDQC5dgmfCBmJTw==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "#A combined example: Setting an international meeting" + }, + { + "__type" : "textSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T15:22:26.148446+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T15:26:19.608055+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "m+eMPFTCDQC5ZeYiCBmJTw==" + }, + "paragraphStyle" : { + "__type" : "textStyle" + }, + "string" : "Three collaborators, John, Paul and George, living in 3 different timezones, want to have a meeting. John is the organizer and picks a date and time, specified in his local time. What should he tell the others ? At what time in their local time will the meeting take place ? Furthermore, they want to format the timestamp nicely." + }, + { + "__type" : "pharoSnippet", + "children" : { + "__type" : "snippets", + "items" : [ ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T15:26:27.458161+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T16:02:31.073719+02:00" + } + }, + "uid" : { + "__type" : "uid", + "uidString" : "If7uSlTCDQCCvkYBCBmJTw==" + }, + "code" : "timezoneJohn := ZTimezone id: 'Europe/Brussels'. \"organizer\"\rtimezonePaul := ZTimezone id: 'America/New_York'. \"participant\"\rtimezoneGeorge := ZTimezone id: 'Australia/Sydney'. \"participant\"\r\rformat := ZTimestampFormat fromString: '2001-02-03 @ 16:05'. \"our own format, YYYY-MM-DD @ HH:MM\"\r\rmeetingTimestampJohn := format parse: '2023-09-25 @ 14:00'. \"in john's local time\"\r\rmeetingTimestamp := timezoneJohn localToGmt: meetingTimestampJohn. \"in neutral GMT/UTC\"\r\rmeetingTimestampPaul := timezonePaul gmtToLocal: meetingTimestamp. \"in paul's local time\"\rmeetingTimestampGeorge := timezoneGeorge gmtToLocal: meetingTimestamp. \"in george's local time\"\r\r\"show a nice summary report\"\r\r({ \r #john->meetingTimestampJohn. \r #paul -> meetingTimestampPaul.\r #george -> meetingTimestampGeorge } \r\tcollect: [ :each | \r\t\teach key -> (format format: each value) ]) asOrderedDictionary." + } + ] + }, + "createEmail" : { + "__type" : "email", + "emailString" : "" + }, + "createTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T08:41:57.971992+02:00" + } + }, + "editEmail" : { + "__type" : "email", + "emailString" : "" + }, + "editTime" : { + "__type" : "time", + "time" : { + "__type" : "dateAndTime", + "dateAndTimeString" : "2023-09-22T11:18:32.451523+02:00" + } + }, + "pageType" : { + "__type" : "namedPage", + "title" : "A GT Introduction to the ZTimestamp package" + }, + "uid" : { + "__type" : "uuid", + "uuid" : "e8866fbe-89c1-0d00-9205-a0430256bc14" + } +} \ No newline at end of file diff --git a/lepiter/lepiter.properties b/lepiter/lepiter.properties new file mode 100644 index 0000000..2e05c6e --- /dev/null +++ b/lepiter/lepiter.properties @@ -0,0 +1,5 @@ +{ + "uuid" : "f976d01c-56c2-0d00-8988-a704062fa3f6", + "schema" : "4.1", + "databaseName" : "ZTimestamp" +} \ No newline at end of file