Skip to content

Having some issues when use a timezone with zero offset with locale method #2248

@nkeyy0

Description

@nkeyy0

I'm having some issues with parsing timezones with zero offsets.

Issue description

I have unexpected results when applying locale for the dayjs object in UTC and timezone with zero offsets. When I call the locale method after .tz() looks like the locale method is changed date-time according to my local time. But with timezones which is different from UTC, everything works fine.

Code

My plugins

import dayjs from 'dayjs';
import advancedFormat from 'dayjs/plugin/advancedFormat';
import calendar from 'dayjs/plugin/calendar';
import customParseFormat from 'dayjs/plugin/customParseFormat';
import localizedFormat from 'dayjs/plugin/localizedFormat';
import timezone from 'dayjs/plugin/timezone';
import utc from 'dayjs/plugin/utc';

dayjs.extend(advancedFormat);
dayjs.extend(customParseFormat);
dayjs.extend(utc);
dayjs.extend(localizedFormat);
dayjs.extend(timezone);
dayjs.extend(calendar);

I don't import locales here, but I import them dynamically after a user selects a specific locale.

Code with issues

dayjs.utc(date).tz(timeZone).locale(locale).format(localizedFormats[dateFormat])

The date argument in that case is a date string in ISO format. Timezone is the string, locale is the string with one of the dayjs locales. Everything works fine until I pass the timezone with zero offsets. I've tried to test this behavior and found that the issue is probably in the clone method

Logs

Date argument is 2022-02-27T11:05:51.439Z in ISO format

Code

      console.log('only timezone', dayjs.utc(date).tz(timeZone));
      console.log('timezone + locale', dayjs.utc(date).tz(timeZone).locale(locale));
      console.log('clone + timezone', dayjs.utc(date).tz(timeZone).clone());

Results

  1. With zero offset
    image
  2. With non-zero offset
    image
    image

Expected behavior

The date and time should be the same after locale method call

Information

  • Day.js Version: 1.11.7
  • OS: Windows 10 (64-bit)
  • Browser: Firefox 110.0 (64-bit)
  • Time zone: Europe/Warsaw [UTC + 01:00]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions