diff --git a/pages/advanced-algorithms/available-algorithms/date.mdx b/pages/advanced-algorithms/available-algorithms/date.mdx
index 58fe18304..082354115 100644
--- a/pages/advanced-algorithms/available-algorithms/date.mdx
+++ b/pages/advanced-algorithms/available-algorithms/date.mdx
@@ -1,6 +1,6 @@
---
title: date
-description: Discover how to effectively perform date-based operations in your graph data with Memgraph's Date class. Also, check out our documentation to learn how to manipulate and better contextualize dates in your data.
+description: Discover how to effectively perform date-based operations in your graph data with Memgraph's Date class. Also, check out our documentation to learn how to manipulate and better contextualize dates in your data.
---
import { Steps } from 'nextra/components'
@@ -60,6 +60,18 @@ The `timezone` parameter can be specified with the database TZ identifier (text)
name, as listed for
[timezones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
+
+
+Starting with `tzdata` version `2024b`, its format has changed and an
+incompatibility with the current libstdc++ has been introduced. As a result,
+using `tzdata` version `2024b` or later will break the timezone feature in
+Memgraph. This could lead to incorrect handling of timezones and unexpected
+behavior in your application. To avoid compatibility issues, please ensure that
+you are using `tzdata` `v2024a` or earlier with Memgraph until libstdc++ has
+been updated to support the new format in tzdata.
+
+
+
{
Output:
}
- `formatted: string` ➡ The received time in the specified format.
@@ -69,7 +81,7 @@ name, as listed for
Use the following query to get a string representation from a time value:
```cypher
-CALL date.format(74976, "h", "%Y/%m/%d %H:%M:%S %Z", "Mexico/BajaNorte")
+CALL date.format(74976, "h", "%Y/%m/%d %H:%M:%S %Z", "Mexico/BajaNorte")
YIELD formatted RETURN formatted;
```
@@ -107,6 +119,18 @@ The `timezone` parameter can be specified with the database TZ identifier (text)
name, as listed for
[timezones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
+
+
+Starting with `tzdata` version `2024b`, its format has changed and an
+incompatibility with the current libstdc++ has been introduced. As a result,
+using `tzdata` version `2024b` or later will break the timezone feature in
+Memgraph. This could lead to incorrect handling of timezones and unexpected
+behavior in your application. To avoid compatibility issues, please ensure that
+you are using `tzdata` `v2024a` or earlier with Memgraph until libstdc++ has
+been updated to support the new format in tzdata.
+
+
+
{ Output:
}
- `parsed: int` ➡ The number of time units that have elapsed since the Unix epoch.
@@ -116,7 +140,7 @@ name, as listed for
Use the following query to parse the date string:
```cypher
-CALL date.parse("2023/08/03 14:30:00", "h", "%Y/%m/%d %H:%M:%S", "Europe/Zagreb")
+CALL date.parse("2023/08/03 14:30:00", "h", "%Y/%m/%d %H:%M:%S", "Europe/Zagreb")
YIELD parsed RETURN parsed;
```
@@ -134,9 +158,9 @@ Adds two numeric values representing quantities of time in specific units.
{ Input:
}
-- `time: int` ➡ The first term in the addition operation.
+- `time: int` ➡ The first term in the addition operation.
- `unit: string` ➡ The time unit of the above value.
-- `add_value: int` ➡ The second term in the addition operation.
+- `add_value: int` ➡ The second term in the addition operation.
- `add_unit: string` ➡ The time unit of the above value.
The `unit` parameter supports the following values:
diff --git a/pages/fundamentals/data-types.mdx b/pages/fundamentals/data-types.mdx
index 5d7435849..dc40bc5bb 100644
--- a/pages/fundamentals/data-types.mdx
+++ b/pages/fundamentals/data-types.mdx
@@ -287,7 +287,7 @@ calling the function `duration()`.
For strings, the duration format is: `P[nD]T[nH][nM][nS]`.
The `n` stands for a number, and the capital letters are used as a separator
-with each field in `[]` marked optional.
+with each field in `[]` marked optional.
| name | description |
| :--: | :---------: |
@@ -296,9 +296,9 @@ with each field in `[]` marked optional.
| M | Minutes |
| S | Seconds |
-When using strings, only the last filed can be a double, e.g., `P2DT2.5H`.
+When using strings, only the last filed can be a double, e.g., `P2DT2.5H`.
-Example:
+Example:
```cypher
CREATE (:F1Laps {lap: duration("PT2M2.33S")});
@@ -310,7 +310,7 @@ Maps can contain the following six fields: `day`, `hour`, `minute`, `second`,
`millisecond` and `microsecond`. Every field can be a double, an int or a
mixture of both. Memgraph also supports negative durations.
-Example:
+Example:
```cypher
CREATE (:F1Laps {lap: duration({minute:2, second:2, microsecond:33})});
@@ -373,7 +373,7 @@ MATCH (f:F1Laps) RETURN f.lap.second;
### Date
You can create a property of temporal type `Date` from a string or map by
-calling the function `Date()`.
+calling the function `Date()`.
**String**
@@ -389,7 +389,7 @@ For strings, the date format is specified by the ISO 8601: `YYYY-MM-DD` or
The lowest year is `0` and the highest is `9999`.
-Example:
+Example:
```cypher
CREATE (:Person {birthday: date("1947-07-30")});
@@ -402,7 +402,7 @@ to the current date of the calendar (UTC clock).
For maps, three fields are available: `year`, `month`, `day`.
-Example:
+Example:
```cypher
CREATE (:Person {birthday: date({year:1947, month:7, day:30})});
@@ -416,7 +416,7 @@ You can access the individual fields of a date through its properties:
| month | Returns the month field |
| day | Returns the day field |
-Example:
+Example:
```cypher
MATCH (b:Person) RETURN b.birthday.year;
@@ -425,7 +425,7 @@ MATCH (b:Person) RETURN b.birthday.year;
### LocalTime
You can create a property of temporal type `LocalTime` from a string or map by
-calling the function `localTime()`.
+calling the function `localTime()`.
**Strings**
@@ -438,7 +438,7 @@ or `[T]hh:mm` or `[T]hhmmss` or `[T]hhmm` or `[T]hh`.
| m | Minutes |
| s | Seconds |
-Example:
+Example:
```cypher
CREATE (:School {Calculus: localTime("09:15:00")});
@@ -481,25 +481,25 @@ MATCH (s:School) RETURN s.Calculus.hour;
### LocalDateTime
-You can create a property of temporal type `LocalDateTime` from a string or map by calling the function `localDateTime()`.
+You can create a property of temporal type `LocalDateTime` from a string or map by calling the function `localDateTime()`.
LocalDateTime uses the defined [timezone](#database-timezone) to convert between local and UTC time.
-At a lower level, LocalDateTime will use system time (UTC), changing the instance timezone will
-change the displayed time point, but will not change the underlying data.
+At a lower level, LocalDateTime will use system time (UTC), changing the instance timezone will
+change the displayed time point, but will not change the underlying data.
All LocalDateTime is converted to UTC, so comparing time points between different timezones gives the correct result.
-When recovering from pre-2.19 snapshots and WALs, the observed LocalDateTime might change due to the introduction of the timezone.
+When recovering from pre-2.19 snapshots and WALs, the observed LocalDateTime might change due to the introduction of the timezone.
Previously LocalDateTime was interpreted and saved as UTC time.
-Post 2.19, the displayed LocalDateTime is in the local timezone and gets converted to UTC time.
+Post 2.19, the displayed LocalDateTime is in the local timezone and gets converted to UTC time.
-Pre 2.19 executing `LocalDateTime()` would return the current UTC time.
+Pre 2.19 executing `LocalDateTime()` would return the current UTC time.
Any such saved data is still "correct" post 2.19; timezone will correctly be applied and local time will be displayed.
Executing `LocalDateTime("2024-07-24T13:30:00")` will give different result pre and post 2.19.
@@ -569,15 +569,23 @@ MATCH (f:Flights) RETURN f.AIR123.year;
`LocalDateTime` uses the set database timezone to properly convert between system time (UTC) and local (user) time.
The timezone can be defined via:
-1. `--timezone` command-line argument
+1. `--timezone` command-line argument
1. `SET DATABASE SETTING "timezone" TO "Europe/Rome"` query
Both methods use IANA timezone descriptors to specify the timezone. See [list of time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List).
+
+
+Starting with `tzdata` version `2024b`, its format has changed and an incompatibility with the current libstdc++ has been introduced.
+As a result, using `tzdata` version `2024b` or later will break the timezone feature in Memgraph. This could lead to incorrect handling of timezones and unexpected behavior in your application.
+To avoid compatibility issues, please ensure that you are using `tzdata` `v2024a` or earlier with Memgraph until libstdc++ has been updated to support the new format in tzdata.
+
+
+
### ZonedDateTime
You can create a value of the `ZonedDateTime` type from a string or a map by
-calling the `datetime()` function.
+calling the `datetime()` function.
**Strings**
@@ -799,7 +807,7 @@ Memgraph supports four Coordinate Reference Systems (CRS) for spatial data, divi
A WGS-84 point consists of longitude, latitude, and height if the point is 3D.
Longitude and latitude are specified in degrees while height is specified in meters.
-Longitude has to be in the [-180, 180] range, latitude in the [-90, 90] range and height can be any `Float` value.
+Longitude has to be in the [-180, 180] range, latitude in the [-90, 90] range and height can be any `Float` value.
| Point type | SRID | CRS |
| :---------------: | :----------: | :--------: |