The "created on" type field will automatically increase in time each time the data is updated

I’ll show a few pieces of data, where the “ServerTime” field is of the “created on” type.
This is what was sent back from the server when the first data was created.

  {
    "id": 14,
    "order": "5.00000000000000000000",
    "Name": "",
    "Time": null,
    "ServerTime": "2022-12-29T19:11:58.101420Z"
  }

Then I updated the “Time” field a few times.
The data I’m filling in is a string generated using new Date().toISOString().

{
  "id": 14,
  "order": "5.00000000000000000000",
  "Name": "",
  "Time": "2022-12-29T11:14:15.288000Z",
  "ServerTime": "2022-12-29T19:11:58.101420Z"
}
{
  "id": 14,
  "order": "5.00000000000000000000",
  "Name": "",
  "Time": "2022-12-29T11:14:37.844000Z",
  "ServerTime": "2022-12-30T03:11:58.101420Z"
}
{
  "id": 14,
  "order": "5.00000000000000000000",
  "Name": "",
  "Time": "2022-12-29T11:14:48.677000Z",
  "ServerTime": "2022-12-30T11:11:58.101420Z"
}
{
  "id": 14,
  "order": "5.00000000000000000000",
  "Name": "",
  "Time": "2022-12-29T11:14:59.060000Z",
  "ServerTime": "2022-12-30T19:11:58.101420Z"
}

Have you noticed something?
The data in the “ServerTime” field is incremented by eight hours each time (the server is in the Asia/Taipei time zone).
What is this situation?
I have confirmed that the time zone of the past server is the correct time.

This is the self-hoted version of Baserow.
The docker image used is baserow/baserow:1.13.3.
All values are default except for the SMTP setting.

Hello @gscc,

thanks for pointing it out. I agree it’s a bit confusing so I’ve created an issue to discuss how to fix it with the rest of the team.

You can find the issue here: Make DateField timezone-aware (#1473) · Issues · Bram Wiepjes / baserow · GitLab

The short explanation is that, at the moment, the Date field values are not aware of the client timezone so the data is saved in UTC, while the “last modified” and the “created on” fields are aware of the server timezone so the values are saved and then showed correctly.

I don’t think there is an easy fix for this at the moment, but I hope this explanation can help you understand what is happening.
If you like, feel free to contribute to the issue in any way.

But I only update the data in the “Time” field, at this time “ServerTime” should not be updated (because it is created on instead of updated on), but your system automatically updates this field every time, which seems to be not quite right in logic?

Hey, I’m sorry for the late reply. I cannot replicate the bug.

Could you please share the response to the Table / List fields endpoint to show me your table structure?

You can find an example of how to get it from the Database context menu in the sidebar → “View API docs” → your table name