# DateTime

A computing concept for representing dates and times in timestamp formats used by Internet protocols.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## What's New in PHP 8.6

DevFeed: [What's New in PHP 8.6](<https://devfeed.tech/articles/what-s-new-in-php-8-6-26631.md>)

Original publisher: [Read original article](<https://laravel-news.com/php-8-6>)

Author: Paul Redmond

Published: 2026-09-15T03:00:09Z

Content type: release

Language: en

Sources: [Laravel](<https://devfeed.tech/sources/laravel.md>)

Topics: [PHP](<https://devfeed.tech/topics/php.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>), [ISO 8601](<https://devfeed.tech/topics/iso-8601.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [closure](<https://devfeed.tech/tags/closure.md>), [feature](<https://devfeed.tech/tags/feature.md>), [function](<https://devfeed.tech/tags/function.md>), [interface](<https://devfeed.tech/tags/interface.md>), [iso](<https://devfeed.tech/tags/iso.md>), [news](<https://devfeed.tech/tags/news.md>), [php](<https://devfeed.tech/tags/php.md>), [php-8-6](<https://devfeed.tech/tags/php-8-6.md>), [precision](<https://devfeed.tech/tags/precision.md>), [properties](<https://devfeed.tech/tags/properties.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

An overview of PHP 8.6, scheduled for release on November 19, 2026. The article covers partial function application, the clamp() function, a nanosecond-precision Duration class, readonly property defaults, and parameter DocComments, along with the release timeline and related changes.

### Source excerpt

PHP 8.6 arrives November 19, 2026 with partial function application, a clamp() function, a Duration class, readonly property defaults, and new deprecations. The post What's New in PHP 8.6 appeared first on Laravel News. Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.

## Adventures in Daylight Saving, Norfolk Island, and Time Zone Math (in Ruby)

DevFeed: [Adventures in Daylight Saving, Norfolk Island, and Time Zone Math (in Ruby)](<https://devfeed.tech/articles/adventures-in-daylight-saving-norfolk-island-and-time-zone-math-in-ruby-20534.md>)

Original publisher: [Read original article](<https://code.dblock.org/2026/08/28/adventures-in-daylight-saving-norfolk-island-and-time-zone-math-in-ruby.html>)

Author: Daniel Doubrovkine (dblock@dblock.org)

Published: 2026-08-28T00:00:00Z

Content type: article

Language: en

Sources: [Daniel Doubrovkine](<https://devfeed.tech/sources/daniel-doubrovkine.md>)

Topics: [Ruby](<https://devfeed.tech/topics/ruby.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>), [bug](<https://devfeed.tech/topics/bug.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [code](<https://devfeed.tech/tags/code.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

This article explains how several bugs in the Ruby gem distance_of_time_in_words were caused by incorrect assumptions about daylight-saving transitions and time-zone offsets. Fixes replaced DST checks and one-hour special cases with comparisons of actual UTC offsets, handling Europe/Dublin and Norfolk Island correctly.

### Source excerpt

distance_of_time_in_words is a small Ruby gem that turns two Time objects into a human-readable string like "3 days and 4 hours". Several separate bug reports against it turned out to be variations on the same theme: computing a duration between two timestamps is not the trivial subtraction it looks like, the moment time zones are involved. The first two fixes shipped in dotiw 5.6.0; four more followed shortly after in dotiw 5.6.1. Bug 1: dst? Lies When You Least Expect It #63 reported that a duration of one minute was rendered as "less than 1 second" for users in Europe/Dublin. The gem's TimeHash had a DST correction that looked reasonable: d = largest - smallest d -= 1.hour if smallest.dst? && !largest.dst? d += 1.hour if !smallest.dst? && largest.dst? The idea: if a DST transition happened between the two times, Time subtraction already accounts for the wall-clock jump, so cancel it back out before splitting the duration into calendar units. That works everywhere except Ireland. Europe/Dublin uses an inverted DST scheme: its winter time is legally defined as "standard time minus one hour" rather than the more common "standard time is winter, summer is +1". Depending on whether a Time was constructed via Time.at(seconds) or datetime.to_time, dst? could report different values for the exact same instant, even though utc_offset agreed. The correction fired when it shouldn't have, and a real one-minute gap got silently zeroed out. Reproducing it doesn't even require mocking dst? -- just running the example with the right TZ set is enough: ENV['TZ'] = 'Europe/Dublin' start = Time.at(DateTime.now) finish = DateTime.now + 1.minute # => "less than 1 second" # expected: "1 minute" distance_of_time_in_words(start, finish) The fix (PR #152) was to stop asking "is this DST?" and just compare the actual offsets: def offset_decreased?(smallest, largest) smallest.utc_offset > largest.utc_offset end def offset_increased?(smallest, largest) smallest.utc_offset < largest.utc_offset

## A revised algorithm for converting Gregorian dates to day counts

DevFeed: [A revised algorithm for converting Gregorian dates to day counts](<https://devfeed.tech/articles/counting-the-days-revisited-36232.md>)

Original publisher: [Read original article](<https://dotat.at/@/2026-08-09-rata-die.html>)

Published: 2026-08-09T02:29:48Z

Content type: article

Language: en

Sources: [Tony Finch's blog](<https://devfeed.tech/sources/tony-finch-s-blog.md>)

Topics: [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>), [C](<https://devfeed.tech/topics/c.md>), [Code](<https://devfeed.tech/topics/code.md>), [function](<https://devfeed.tech/topics/function.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [c](<https://devfeed.tech/tags/c.md>), [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [data-type](<https://devfeed.tech/tags/data-type.md>), [function](<https://devfeed.tech/tags/function.md>), [range](<https://devfeed.tech/tags/range.md>)

### AI overview

The article revisits an algorithm for converting Gregorian dates into Julian Day numbers or related day counts such as rata die. It explains the March-based month pattern, leap-year corrections, integer arithmetic, and limitations caused by overflow in the output data type.

### Source excerpt

Many years ago I wrote about how to convert Gregorian dates to Julian Day numbers or similar counts such as rata die as used in Calendrical Calculations. This algorithm is the core of C's mktime() function that converts a broken-down date-time into linear time_t. I recently learned from Ben Joffe that I was missing a few tricks, and my old code wasn't as good as it could have been. Here's a better version (using conventional not C numbering): if m > 2 { m -= 2; } else { m += 10; y -= 1; } y*365 + y/4 - y/100 + y/400 + m*979/32 + d - 336 the main idea Julian years Gregorian correction the month pattern the epoch domains and ranges leap year test length of month the main idea There's a helpful coincidence in the Gregorian calendar. Although the month lengths aren't obviously regular, there's a repeating 5 month pattern that becomes easier to see when you start from March, as illustrated by the table below. This pattern resets at the end of February, midway through its third repeat, coincidentally at the same point that leap days occur. Thus the first line of the code above adjusts the month and year numbers so that January and February are counted at the end of the previous year, and the coincidental alignment occurs at the boundary between the adjusted year numbers. I'll explain the details of the adjustment as I discuss the relevant parts of the second line March 31 days April 30 days May 31 days June 30 days July 31 days August 31 days September 30 days October 31 days November 30 days December 31 days January 31 days February 28 or 29 Julian years The first part of the main formula counts the number of days before the start of year y, in terms of normal years and leap days. y * 365 + y / 4 The adjustment subtracts one from the year in January and February. The effect is that the leap day in year 4 is counted as a day before the start of the adjusted beginning of year 4, i.e. before March, i.e. exactly the right place. I previously combined this part of the express

## Waiting for PostgreSQL 20 - Add min() and max() aggregate support for uuid.

DevFeed: [Waiting for PostgreSQL 20 - Add min() and max() aggregate support for uuid.](<https://devfeed.tech/articles/waiting-for-postgresql-20-add-min-and-max-aggregate-support-for-uuid-33692.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/07/09/waiting-for-postgresql-20-add-min-and-max-aggregate-support-for-uuid/>)

Author: depesz

Published: 2026-07-09T12:41:14Z

Content type: article

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>)

Tags: [aggregate](<https://devfeed.tech/tags/aggregate.md>), [btree](<https://devfeed.tech/tags/btree.md>), [max](<https://devfeed.tech/tags/max.md>), [min](<https://devfeed.tech/tags/min.md>), [order](<https://devfeed.tech/tags/order.md>), [pg20](<https://devfeed.tech/tags/pg20.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [sort](<https://devfeed.tech/tags/sort.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [uuid](<https://devfeed.tech/tags/uuid.md>), [uuid-extract-timestamp](<https://devfeed.tech/tags/uuid-extract-timestamp.md>), [waiting](<https://devfeed.tech/tags/waiting.md>)

### AI overview

This article discusses a PostgreSQL patch adding min() and max() aggregate support for the uuid type. It explains that uuid is totally ordered through comparison operators and a btree operator class, and demonstrates the aggregates with UUID v7 and random UUIDs.

### Source excerpt

On 1st of July 2026, Masahiko Sawada committed patch: Add min() and max() aggregate support for uuid. The uuid type already has a full set of comparison operators and a btree operator class, so it is totally ordered. min() and max() were the only common aggregates missing for it. Add the uuid_larger() and uuid_smaller() ... Continue reading "Waiting for PostgreSQL 20 - Add min() and max() aggregate support for uuid."

## British Columbia, Time Zones, and Postgres

DevFeed: [British Columbia, Time Zones, and Postgres](<https://devfeed.tech/articles/british-columbia-time-zones-and-postgres-14479.md>)

Original publisher: [Read original article](<https://www.crunchydata.com/blog/british-columbia-and-time-zone-changes>)

Author: Christopher Winslett

Published: 2026-06-16T12:00:00Z

Content type: tutorial

Language: en

Sources: [CrunchyData Blog](<https://devfeed.tech/sources/crunchydata-blog.md>)

Topics: [DateTime](<https://devfeed.tech/topics/datetime.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>)

Tags: [postgres](<https://devfeed.tech/tags/postgres.md>), [production-postgres](<https://devfeed.tech/tags/production-postgres.md>), [sql](<https://devfeed.tech/tags/sql.md>), [time](<https://devfeed.tech/tags/time.md>), [timezone](<https://devfeed.tech/tags/timezone.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>)

### AI overview

This article explains how British Columbia's permanent move to UTC-7 affects PostgreSQL handling of future appointments and time-zone conversions. It warns that changed time-zone rules or outdated tzdata packages can cause stored appointments to display at the wrong local time.

### Source excerpt

This year, British Column has moved to year-round Pacific Time. How does that affect date data?

## Seasons time-lapse - the video

DevFeed: [Seasons time-lapse - the video](<https://devfeed.tech/articles/seasons-time-lapse-the-video-18927.md>)

Original publisher: [Read original article](<https://blog.frankel.ch/seasons-time-lapse/3/>)

Author: Nicolas Fränkel

Published: 2026-06-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Nicolas Fränkel](<https://devfeed.tech/sources/nicolas-frankel.md>)

Topics: [Image](<https://devfeed.tech/topics/image.md>), [Code](<https://devfeed.tech/topics/code.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>)

Tags: [art](<https://devfeed.tech/tags/art.md>), [cameras](<https://devfeed.tech/tags/cameras.md>), [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [images](<https://devfeed.tech/tags/images.md>), [information](<https://devfeed.tech/tags/information.md>), [location](<https://devfeed.tech/tags/location.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [model](<https://devfeed.tech/tags/model.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [project](<https://devfeed.tech/tags/project.md>), [python](<https://devfeed.tech/tags/python.md>), [rotation](<https://devfeed.tech/tags/rotation.md>), [screen](<https://devfeed.tech/tags/screen.md>), [speed](<https://devfeed.tech/tags/speed.md>), [time-lapse](<https://devfeed.tech/tags/time-lapse.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

The third and final post in a series explains how the author creates a time-lapse video from photographs taken from the same position over multiple years. It discusses ordering images by day of year and time of day, using EXIF metadata, and practical observations about video generation.

### Source excerpt

In the first post of this series, I focused on the project foundations: what should I do to create a video from photos taken from the same position year after year? I dedicated the second part to aligning images. It wasn't as easy as I expected. I stumbled upon new concepts, such as ORB and RANSAC. In this third and final post, I want to tackle the video creation itself, explain some 'artistic' decisions, and leave the door open to future work.

## How to render timestamp with a timezone that is different from current?

DevFeed: [How to render timestamp with a timezone that is different from current?](<https://devfeed.tech/articles/how-to-render-timestamp-with-a-timezone-that-is-different-from-current-33675.md>)

Original publisher: [Read original article](<https://www.depesz.com/2026/01/27/how-to-render-timestamp-with-a-timezone-that-is-different-from-current/>)

Author: depesz

Published: 2026-01-27T09:25:04Z

Content type: tutorial

Language: en

Sources: [select \* from depesz;](<https://devfeed.tech/sources/select-from-depesz.md>)

Topics: [timezone](<https://devfeed.tech/topics/timezone.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>)

Tags: [formatting](<https://devfeed.tech/tags/formatting.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [irc](<https://devfeed.tech/tags/irc.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [timestamptz](<https://devfeed.tech/tags/timestamptz.md>), [timezone](<https://devfeed.tech/tags/timezone.md>), [to-char](<https://devfeed.tech/tags/to-char.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [utc](<https://devfeed.tech/tags/utc.md>)

### AI overview

A PostgreSQL tutorial explaining why timestamptz values are displayed in the client's local timezone and how to render a timestamp with an offset for another timezone. It presents a custom function that returns text, preserves the client timezone, and optionally applies to_char formatting.

### Source excerpt

This question appeared on IRC, and while I wasn't there while it happened, it caught my eye: " Can I not render this with timezone offset: select '2026-01-09 04:35:46.9824-08'::timestamp with time zone at time zone 'UTC'; " Returns '2026-01-09 12:35:46.9824' which is without the offset. Let's see what can be done about it. First, let's ... Continue reading "How to render timestamp with a timezone that is different from current?"

## Pop quiz: what time was it?

DevFeed: [Pop quiz: what time was it?](<https://devfeed.tech/articles/pop-quiz-what-time-was-it-20839.md>)

Original publisher: [Read original article](<https://dave.cheney.net/2025/12/18/pop-quiz-what-time-was-it>)

Author: Dave Cheney

Published: 2025-12-18T00:38:52Z

Content type: tutorial

Language: en

Sources: [Dave Cheney](<https://devfeed.tech/sources/dave-cheney.md>)

Topics: [coding](<https://devfeed.tech/topics/coding.md>), [GitHub Copilot](<https://devfeed.tech/topics/github-copilot.md>), [ai-coding](<https://devfeed.tech/topics/ai-coding.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [coding](<https://devfeed.tech/tags/coding.md>), [coding-assistant](<https://devfeed.tech/tags/coding-assistant.md>), [go](<https://devfeed.tech/tags/go.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

A short quiz examines incorrect advice from an AI coding assistant by asking how far apart two timestamps printed by a program will be. The provided text does not include the answer.

### Source excerpt

Here's a small quiz derived from some incorrect advice from an AI coding assistant. This program prints two timestamps; will they be a. Roughly the same time (ie, the same second)b. Roughly 10 seconds apartc. Something else Answer after the fold

## How and when to use btree\_gist

DevFeed: [How and when to use btree\_gist](<https://devfeed.tech/articles/how-and-when-to-use-btree-gist-5062.md>)

Original publisher: [Read original article](<https://neon.com/blog/btree_gist>)

Author: George MacKerron

Published: 2024-07-08T13:29:31Z

Content type: tutorial

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [SQL](<https://devfeed.tech/topics/sql.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [CSV](<https://devfeed.tech/topics/csv.md>), [data](<https://devfeed.tech/topics/data.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [extension](<https://devfeed.tech/tags/extension.md>), [files](<https://devfeed.tech/tags/files.md>), [format](<https://devfeed.tech/tags/format.md>), [index](<https://devfeed.tech/tags/index.md>), [monitor](<https://devfeed.tech/tags/monitor.md>), [numbers](<https://devfeed.tech/tags/numbers.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [schema](<https://devfeed.tech/tags/schema.md>), [sql](<https://devfeed.tech/tags/sql.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

This tutorial explains how to use PostgreSQL indexes for queries combining one-dimensional and multidimensional data. It focuses on the btree_gist extension and demonstrates its use with UK crime data containing locations and reporting dates, including loading selected CSV data into PostgreSQL.

### Source excerpt

The right indexes make big SQL queries fast. If you've been using Postgres for more than 5 minutes, you're almost certainly familiar with the everyday B-Tree index. This can deal with data that has a one-dimensional ordering: numbers, timestamps, text, and so on. And if you've ha...

## How to Set Date Time from Mac Command Line

DevFeed: [How to Set Date Time from Mac Command Line](<https://devfeed.tech/articles/how-to-set-date-time-from-mac-command-line-37488.md>)

Original publisher: [Read original article](<https://davidwalsh.name/mac-set-date>)

Author: David Walsh

Published: 2024-06-17T12:01:38Z

Content type: tutorial

Language: en

Sources: [David Walsh](<https://devfeed.tech/sources/david-walsh.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>)

Tags: [command-line](<https://devfeed.tech/tags/command-line.md>), [extension](<https://devfeed.tech/tags/extension.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [mac](<https://devfeed.tech/tags/mac.md>), [quick-tips](<https://devfeed.tech/tags/quick-tips.md>), [quick-tips-shell](<https://devfeed.tech/tags/quick-tips-shell.md>), [shell](<https://devfeed.tech/tags/shell.md>), [testing](<https://devfeed.tech/tags/testing.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

This tutorial explains how to change the current date on a Mac from the command line so developers can test hardcoded, date-based logic in web extensions that cannot be updated immediately.

### Source excerpt

Working on a web extension that ships to an app store and isn't immediately modifiable, like a website, can be difficult. Since you cannot immediately deploy updates, you sometimes need to bake in hardcoded date-based logic. Testing future dates can be difficult if you don't know how to quickly change the date on your local [...] The post How to Set Date Time from Mac Command Line appeared first on David Walsh Blog.

## Date and Time Formatting in Kotlin with the DateTime Library

DevFeed: [Date and Time Formatting in Kotlin with the DateTime Library](<https://devfeed.tech/articles/date-and-time-formatting-in-kotlin-with-the-datetime-library-24844.md>)

Original publisher: [Read original article](<https://alexzh.com/date-and-time-formatting-in-kotlin-with-the-datetime-library/>)

Author: Alex Zhukovich

Published: 2024-03-01T13:12:08Z

Content type: tutorial

Language: en

Sources: [Alex Zhuk - Android development and testing](<https://devfeed.tech/sources/alex-zhuk-android-development-and-testing.md>)

Topics: [DateTime](<https://devfeed.tech/topics/datetime.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Library](<https://devfeed.tech/topics/library.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>)

Tags: [guide](<https://devfeed.tech/tags/guide.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [library](<https://devfeed.tech/tags/library.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [platform](<https://devfeed.tech/tags/platform.md>), [platforms](<https://devfeed.tech/tags/platforms.md>), [pre-release](<https://devfeed.tech/tags/pre-release.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

This tutorial explains how to parse and format dates and times in Kotlin using the kotlinx-datetime v0.6.0-RC library. It covers locale-invariant formatting with Unicode patterns and Kotlin DSL, along with parsing formatted values into date and time types.

### Source excerpt

Explore the art of formatting date and time in Kotlin with the Kotlinx-datetime library. This guide introduces you to the efficient use of Unicode patterns and Kotlin DSL for formatting date and time types. Ideal for Kotlin Multiplatform projects.

## Nanosecond timestamp collisions are common

DevFeed: [Nanosecond timestamp collisions are common](<https://devfeed.tech/articles/nanosecond-timestamp-collisions-are-common-20754.md>)

Original publisher: [Read original article](<https://www.evanjones.ca/nanosecond-collisions.html>)

Published: 2023-07-20T21:39:42Z

Content type: article

Language: en

Sources: [Evan Jones](<https://devfeed.tech/sources/evan-jones.md>)

Topics: [DateTime](<https://devfeed.tech/topics/datetime.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>)

Tags: [go](<https://devfeed.tech/tags/go.md>), [threads](<https://devfeed.tech/tags/threads.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

The article reports tests of timestamp collisions using Go's absolute and monotonic clocks. It finds that raw nanosecond timestamps can collide frequently across threads and that collision behavior varies between Linux and Mac OS X.

### Source excerpt

I was wondering: how often do nanosecond timestamps collide on modern systems? The answer is: very often, like 5% of all samples, when reading the clock on all 4 physical cores at the same time. As a result, I think it is unsafe to assume that a raw nanosecond timestamp is a unique identifier. I wrote a small test program to test this. I used Go, which records both the "absolute" time and the "monotonic clock" relative time on each call to time.Now(), so I compared both the relative difference between consecutive timestamps, as well as just the absolute timestamps. As expected, the behavior depends on the system, so I observe very different results on Mac OS X and Linux. On Linux, within a single thread, both the absolute and monotonic times always increase. On my system, the minimum increment was 32 ns. Between threads, approximately 5% of the absolute times were exactly the same as other threads. Even with 2 threads on a 4 core system, approximately 2% of timestamps collided. On Mac OS X: the absolute time has microsecond resolution, so there are an astronomical number of collisions when I repeat this same test. Even within a thread I often observe the monotonic clock not increment. See the test program on Github if you are curious.

## Just the right time date predicates with Iceberg

DevFeed: [Just the right time date predicates with Iceberg](<https://devfeed.tech/articles/just-the-right-time-date-predicates-with-iceberg-8713.md>)

Original publisher: [Read original article](<https://trino.io/blog/2023/04/11/date-predicates.html>)

Author: Marius Grama

Published: 2023-04-11T00:00:00Z

Content type: article

Language: en

Sources: [Trino Blog](<https://devfeed.tech/sources/trino-blog.md>)

Topics: [Apache Iceberg](<https://devfeed.tech/topics/apache-iceberg.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>), [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [cast](<https://devfeed.tech/tags/cast.md>), [data-lake](<https://devfeed.tech/tags/data-lake.md>), [expression](<https://devfeed.tech/tags/expression.md>), [filter](<https://devfeed.tech/tags/filter.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>), [range](<https://devfeed.tech/tags/range.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

This article explains how date predicates can be optimized when querying Iceberg tables in a data lake. It covers partition pruning, hidden partitioning, constant folding, predicate pushdown, range predicates, and casting to help Trino avoid scanning irrelevant data and improve query performance.

### Source excerpt

In the data lake world, data partitioning is a technique that is critical to the performance of read operations. In order to avoid scanning large amounts of data accidentally, and also to limit the number of partitions that are being processed by a query, a query engine must push down constant expressions when filtering partitions.

## What time is it? A simple question with a complex answer. How computers synchronize time

DevFeed: [What time is it? A simple question with a complex answer. How computers synchronize time](<https://devfeed.tech/articles/what-time-is-it-a-simple-question-with-a-complex-answer-how-computers-synchronize-time-27113.md>)

Original publisher: [Read original article](<https://andrea.corbellini.name/2023/01/23/what-time-is-it/>)

Author: andreacorbellini

Published: 2023-01-23T19:15:00Z

Content type: article

Language: en

Sources: [Andrea Corbellini](<https://devfeed.tech/sources/andrea-corbellini.md>)

Topics: [DateTime](<https://devfeed.tech/topics/datetime.md>), [Network](<https://devfeed.tech/topics/network.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>)

Tags: [clocks](<https://devfeed.tech/tags/clocks.md>), [information-technology](<https://devfeed.tech/tags/information-technology.md>), [network](<https://devfeed.tech/tags/network.md>), [ntp](<https://devfeed.tech/tags/ntp.md>), [performance](<https://devfeed.tech/tags/performance.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [ptp](<https://devfeed.tech/tags/ptp.md>), [relativity](<https://devfeed.tech/tags/relativity.md>), [standard](<https://devfeed.tech/tags/standard.md>), [time](<https://devfeed.tech/tags/time.md>), [time-synchronization](<https://devfeed.tech/tags/time-synchronization.md>)

### AI overview

This article explains why accurate time synchronization matters for computers, phones, applications, and other devices. It introduces challenges in synchronizing time and examines the Network Time Protocol (NTP) and Precision Time Protocol (PTP), while also discussing concepts including time, change, causality, and the definition of a second.

### Source excerpt

Ever wondered how your computer or your phone displays the current date and time accurately? What keeps all the devices in the world (and in space) in agreement on what time it is? What makes applications that require precise timing possible? In this article, I will explain some of the challenges with time synchronization and explore two of the most popular protocols that devices ...

## ESP Insights: In-depth device metrics

DevFeed: [ESP Insights: In-depth device metrics](<https://devfeed.tech/articles/esp-insights-in-depth-device-metrics-13842.md>)

Original publisher: [Read original article](<https://developer.espressif.com/blog/esp-insights-in-depth-device-metrics/>)

Author: John Lee

Published: 2022-04-28T00:00:00Z

Content type: release

Language: en

Sources: [Blog on Developer Portal](<https://devfeed.tech/sources/blog-on-developer-portal.md>)

Topics: [dashboards](<https://devfeed.tech/topics/dashboards.md>), [Time Series](<https://devfeed.tech/topics/time-series.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [crash](<https://devfeed.tech/tags/crash.md>), [esp-insights](<https://devfeed.tech/tags/esp-insights.md>), [esp32](<https://devfeed.tech/tags/esp32.md>), [espinsights](<https://devfeed.tech/tags/espinsights.md>), [event](<https://devfeed.tech/tags/event.md>), [iot](<https://devfeed.tech/tags/iot.md>), [logs](<https://devfeed.tech/tags/logs.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [time-series](<https://devfeed.tech/tags/time-series.md>), [widget](<https://devfeed.tech/tags/widget.md>)

### AI overview

This article announces enhanced ESP Insights Dashboard device-metrics analysis. Users can select a date and time range, correlate metrics with crash and reboot events, inspect event details, and zoom into a narrower portion of a time-series graph.

### Source excerpt

In the earlier version of the ESP Insights Dashboard users could check and analyse device reported metrics, for only up to the past 3 hours. We received developer feedback that they would like to look at the metrics within a particular time frame and most importantly in the time frame around an all important event being investigated viz. a crash or a reboot.

## Proposed Europe/Oslo timezone alias change could discard pre-1970 data and break Joda-Time behavior

DevFeed: [Proposed Europe/Oslo timezone alias change could discard pre-1970 data and break Joda-Time behavior](<https://devfeed.tech/articles/big-problems-at-the-timezone-database-22010.md>)

Original publisher: [Read original article](<http://blog.joda.org/2021/09/big-problems-at-timezone-database.html>)

Author: Stephen Colebourne (noreply@blogger.com)

Published: 2021-09-25T00:55:00Z

Content type: opinion

Language: en

Sources: [Stephen Colebourne](<https://devfeed.tech/sources/stephen-colebourne.md>)

Topics: [DateTime](<https://devfeed.tech/topics/datetime.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [systems](<https://devfeed.tech/topics/systems.md>), [Operating system](<https://devfeed.tech/topics/operating-system.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [jdk](<https://devfeed.tech/tags/jdk.md>), [joda](<https://devfeed.tech/tags/joda.md>), [operating-systems](<https://devfeed.tech/tags/operating-systems.md>), [smartphones](<https://devfeed.tech/tags/smartphones.md>), [systems](<https://devfeed.tech/tags/systems.md>), [timezone](<https://devfeed.tech/tags/timezone.md>)

### AI overview

The article criticizes a proposed change to the IANA timezone database that would make Europe/Oslo an alias of Europe/Berlin because their post-1970 data matches. It argues that this could replace researched pre-1970 Oslo data with Berlin data and cause Joda-Time tests and timezone identifier handling to fail.

### Source excerpt

The last time I wrote about the timezone database on this blog, the database was under threat from a lawsuit. Fortunately that lawsuit went away relatively quickly as the company involved got the message that their action was a big mistake. Unfortunately this time the mess is internal. Paul Eggert is the project lead of the timezone database hosted at IANA, a position referred to as the TZ Coordinator. He is an expert in the field, having been involved in documenting timezone data for decades. Unfortunately, he is currently ignoring all objections to an action only he seems intent on making to solve an invented problem that only he sees as important. The database is the world's principle source of timezone information. The data is included in everything from operating systems to smartphones to programming language development kits such as the JDK. While you may never have heard of it, the sheer pervasiveness of the data makes the potential impact of change or damage pretty huge. The timezone database contains information about how clocks have varies in each region around the world. The mandate of the project is to record this information from 1970 onwards. Of course, computers being what they are, a function that returns the timezone for a given date can be passed in a pre-1970 date as well as a post-1970 one. For this, and reasons of completeness, the timezone database contains pre-1970 data as well as post-1970 data. If you go to your JDK or operating system and ask for the timezone offset for 1920-01-01 for the ID "Europe/Oslo" or "Europe/Berlin" you will get an answer: DateTimeZone oslo = DateTimeZone.forID("Europe/Oslo"); System.out.println(oslo.getOffset(new DateTime(1948, 6, 1, 12, 0))); //prints 3600000 DateTimeZone berlin = DateTimeZone.forID("Europe/Berlin"); System.out.println(berlin.getOffset(new DateTime(1948, 6, 1, 12, 0))); //prints 7200000 The proposed change is to downgrade "Europe/Oslo" to be merely an alias for "Europe/Berlin". The rationale is th

## ClickHouse® tips #9: Filling gaps in time-series on ClickHouse®

DevFeed: [ClickHouse® tips #9: Filling gaps in time-series on ClickHouse®](<https://devfeed.tech/articles/clickhouse-tips-9-filling-gaps-in-time-series-on-clickhouse-18726.md>)

Original publisher: [Read original article](<https://www.tinybird.co/blog/tips-9-filling-gaps-in-time-series-on-clickhouse>)

Author: Xoel López

Published: 2021-07-08T00:00:00Z

Content type: tutorial

Language: en

Sources: [Tinybird](<https://devfeed.tech/sources/tinybird.md>)

Topics: [clickhouse](<https://devfeed.tech/topics/clickhouse.md>), [Time Series](<https://devfeed.tech/topics/time-series.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>)

Tags: [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [the-data-base](<https://devfeed.tech/tags/the-data-base.md>), [time-series](<https://devfeed.tech/tags/time-series.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

A tutorial on filling date and datetime gaps in time-series data using ClickHouse. It is identified as Part 9 of a series.

### Source excerpt

This simple trick will teach you how to fill date and datetime gaps in time-series on ClickHouse®. Part 9.

## Handling Dates & Times in SQLite

DevFeed: [Handling Dates & Times in SQLite](<https://devfeed.tech/articles/handling-dates-times-in-sqlite-30600.md>)

Original publisher: [Read original article](<https://ryanharter.com/blog/2020/09/handling-dates-times-in-sqlite/>)

Published: 2020-09-04T16:35:01Z

Content type: tutorial

Language: en

Sources: [Blogs on Ryan Harter](<https://devfeed.tech/sources/blogs-on-ryan-harter.md>)

Topics: [SQLite](<https://devfeed.tech/topics/sqlite.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [timezone](<https://devfeed.tech/topics/timezone.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [sql](<https://devfeed.tech/tags/sql.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [time](<https://devfeed.tech/tags/time.md>), [timezone](<https://devfeed.tech/tags/timezone.md>)

### AI overview

The article examines how to store dates and times in SQLite for a Kotlin app using Room. It explains that SQLite has no dedicated DateTime type and discusses problems with storing timestamps as Unix-epoch milliseconds, including timezone handling and query support.

### Source excerpt

As I've been refactoring a fairly large section of Pigment, my coloring book app for adults, I came across some SQL code which I haven't touched in a very long time and didn't seem quite right. Part of Pigment's large library of coloring books and pages are the Daily books, which are a different book each month in which a new page is released each day. The day's page is free only for the day (for non-subscribers), and then reverts to being locked once the next page is released. Users can unlock a page forever by simply starting a coloring project with it while it's free, but there is a limited window in which it's available.

## Using Dependency Injection in Python to Make Date-Dependent Code Deterministic and Testable

DevFeed: [Using Dependency Injection in Python to Make Date-Dependent Code Deterministic and Testable](<https://devfeed.tech/articles/stop-using-datetime-now-33928.md>)

Original publisher: [Read original article](<https://hakibenita.com/python-dependency-injection>)

Author: Haki Benita

Published: 2020-05-31T21:00:00Z

Content type: article

Language: en

Sources: [Haki Benita](<https://devfeed.tech/sources/haki-benita.md>)

Topics: [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Python](<https://devfeed.tech/topics/python.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [articles](<https://devfeed.tech/tags/articles.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [django](<https://devfeed.tech/tags/django.md>), [nondeterminism](<https://devfeed.tech/tags/nondeterminism.md>), [python](<https://devfeed.tech/tags/python.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This article explains how dependency injection can make Python code that depends on the current date deterministic and easier to test. It uses a function returning tomorrow's date to show why hard-coded time references create fragile tests, and presents passing the reference date as an argument as an alternative to mocking or external libraries.

### Source excerpt

If you ever had a test that one day just started to fail, unprovoked, or a test that fails once every blue moon for no apparent reason, it's possible your code is relying on something that is not deterministic. In this article I describe a practical approach to dependency injection in Python that when used correctly, can eliminate nondeterminism and make your code easier to maintain and to test.

## How to write better emails

DevFeed: [How to write better emails](<https://devfeed.tech/articles/how-to-write-better-emails-37448.md>)

Original publisher: [Read original article](<https://iridakos.com/programming/2019/06/26/composing-better-emails>)

Author: Lazarus Lazaridis

Published: 2019-06-26T13:30:00Z

Content type: tutorial

Language: en

Sources: [Lazarus Lazaridis](<https://devfeed.tech/sources/lazarus-lazaridis.md>)

Topics: [email](<https://devfeed.tech/topics/email.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>)

Tags: [communication](<https://devfeed.tech/tags/communication.md>), [email](<https://devfeed.tech/tags/email.md>), [examples](<https://devfeed.tech/tags/examples.md>), [featured](<https://devfeed.tech/tags/featured.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [need](<https://devfeed.tech/tags/need.md>), [productivity](<https://devfeed.tech/tags/productivity.md>), [programming](<https://devfeed.tech/tags/programming.md>), [tips](<https://devfeed.tech/tags/tips.md>), [write](<https://devfeed.tech/tags/write.md>)

### AI overview

A practical guide to writing clearer, more effective emails. It recommends emphasizing important text, using specific dates and bookmarkable links, structuring long messages with headings and paragraphs, and making requests explicit about who should act and by when.

### Source excerpt

Email communication is not my favorite but since I can't avoid it, I am trying to compose messages in a way that I think it makes it easier for both me and the recipient: to quickly address what is being communicated avoid misunderstandings save time Here are some tips. They don't apply to all type of messages, I provide before and after examples to better describe each case. Emphasize text with bold/underlined font Emphasizing the appropriate parts of a message, especially when it's a long one, you help readers quickly get an idea of what the email is about and easily locate the important stuff after going back to it at some point in the future. Examples Before Hello all, I noticed that there are many logs for blabla the last few days and I don't think that it is normal. I believe the problem is the updated version of gem blabla. I have opened an issue describing the case in Redmine (#455) in the current version. Feel free to change its priority in case blabla. Thanks, Lazarus After Hello all, I noticed that there are many logs for blabla the last few days and I don't think that it is normal. I believe the problem is the updated version of gem blabla. I have opened a Redmine issue (#455) describing the case in the current version. Feel free to change its priority in case blabla. Thanks, Lazarus Use specific dates instead of yesterday, tomorrow etc The moment you send an email is not the moment that it will be read by its recipients. Avoid using only temporal adverbs/nouns like yesterday, today, tomorrow, two hours ago etc but include also the specific dates/times otherwise they might be misunderstood or require from recipients to check the email's sent date/time to calculate the actual time. Examples Before Dear QA, Yesterday we released a fix for the bug 455 on staging and we plan to release it next Monday if you give us the green light by tomorrow end of day. Thanks, Lazarus After Dear QA, Yesterday, June 25th, 2019 we released a fix for the bug #455 on staging a

## PostgreSQL Data Types: Date and Time Processing

DevFeed: [PostgreSQL Data Types: Date and Time Processing](<https://devfeed.tech/articles/postgresql-data-types-date-and-time-processing-34589.md>)

Original publisher: [Read original article](<https://tapoueh.org/blog/2018/04/postgresql-data-types-date-and-time-processing/>)

Author: Dimitri Fontaine PostgreSQL Major Contributor; Author

Published: 2018-04-13T11:35:47Z

Content type: tutorial

Language: en

Sources: [Dimitri Fontaine](<https://devfeed.tech/sources/dimitri-fontaine.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Statistics](<https://devfeed.tech/topics/statistics.md>), [data](<https://devfeed.tech/topics/data.md>), [Git](<https://devfeed.tech/topics/git.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [git](<https://devfeed.tech/tags/git.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [reporting](<https://devfeed.tech/tags/reporting.md>), [sql](<https://devfeed.tech/tags/sql.md>), [statistics](<https://devfeed.tech/tags/statistics.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

This tutorial explains how PostgreSQL date and time processing functions can be used with timestamp-with-time-zone data. Using Git history loaded into a commitlog table, it demonstrates retrieving recent records, producing time-based reports, comparing activity by project and weekday, and calculating timestamp differences and percentiles.

### Source excerpt

Continuing our series of PostgreSQL Data Types today we're going to introduce date and time based processing functions. Once the application's data, or rather the user data is properly stored as timestamp with time zone, PostgreSQL allows implementing all the processing you need to. In this article we dive into a set of examples to help you get started with time based processing in your database. Can we boost your reporting skills?

## Java Date and Time Utilities for Common Date Calculations

DevFeed: [Java Date and Time Utilities for Common Date Calculations](<https://devfeed.tech/articles/date-util-19280.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/date-util/>)

Author: Shai Almog

Published: 2018-04-04T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [DateTime](<https://devfeed.tech/topics/datetime.md>), [Java](<https://devfeed.tech/topics/java.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [java](<https://devfeed.tech/tags/java.md>), [programming](<https://devfeed.tech/tags/programming.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

The article introduces a small Java API for common date calculations, including checking whether a day falls within the daylight saving era. It presents the API as a workaround for limitations in Java's older date and time API.

### Source excerpt

Timezones suck. Especially daylight saving. I don't mind moving the clock or losing an hour of sleep as much as the programming bugs related to that practice. The thing that sucks even more is Java's old date/time API. This was publicly acknowledged by the Java community with JSR 310 which replaced the Java Date & Time API's however due to its complexity we still don't have it yet. As a small workaround we created a small API to perform some common date calculations.

## PostgreSQL and the calendar

DevFeed: [PostgreSQL and the calendar](<https://devfeed.tech/articles/postgresql-and-the-calendar-34559.md>)

Original publisher: [Read original article](<https://tapoueh.org/blog/2017/06/postgresql-and-the-calendar/>)

Author: Dimitri Fontaine PostgreSQL Major Contributor; Author

Published: 2017-06-30T12:35:59Z

Content type: tutorial

Language: en

Sources: [Dimitri Fontaine](<https://devfeed.tech/sources/dimitri-fontaine.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [data type](<https://devfeed.tech/topics/data-type.md>), [function](<https://devfeed.tech/topics/function.md>)

Tags: [data-type](<https://devfeed.tech/tags/data-type.md>), [function](<https://devfeed.tech/tags/function.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [query](<https://devfeed.tech/tags/query.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

This tutorial explains how PostgreSQL handles calendar-related computations, including ISO week numbering, leap years, date series, and interval values. It recommends using PostgreSQL's built-in date/time functions and data types instead of implementing these calculations manually.

### Source excerpt

The modern calendar is a trap for the young engineer's mind. We deal with the calendar on a daily basis and until exposed to its insanity it's rather common to think that calendar based computations are easy. That's until you've tried to do it once. A very good read about how the current calendar came to be the way it is now is Erik's Naggum The Long, Painful History of Time.

## RRULE expansion in Ruby

DevFeed: [RRULE expansion in Ruby](<https://devfeed.tech/articles/rrule-expansion-in-ruby-15830.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/rrule-expansion-in-ruby>)

Author: Ryan Mitchell

Published: 2017-06-12T17:39:41Z

Content type: tutorial

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Ruby](<https://devfeed.tech/topics/ruby.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>), [Google](<https://devfeed.tech/topics/google.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [data](<https://devfeed.tech/tags/data.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [google](<https://devfeed.tech/tags/google.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

This article explains how Square Appointments handled expansion of iCalendar RRULE text into concrete recurring date occurrences in Ruby. It describes limitations in existing Ruby libraries, the need to process RRULEs imported from Google Calendar, and the use of a data-driven test suite based partly on existing Objective-C tests.

### Source excerpt

On the Square Appointments team, we often need to deal with events that repeat -- from simple cases (like a weekly lunch meeting) to more...

[Next page](<https://devfeed.tech/topics/datetime.md?cursor=WyIyMDE3LTA2LTEyVDE3OjM5OjQxKzAwOjAwIiwgImE2NGEyNjMzLWIyNzEtNDVjYi1hMDg3LTI5MWE2M2QyMzVmZiJd>)