1

我们允许用户在我们的 Web 应用程序中更改他们的首选语言环境。我使用这样的变量设置 dayjs() 语言环境:

var localeAbbr = '@server_generated_abbr';
dayjs.locale(localeAbbr);

但是,我们也让他们选择他们喜欢的一周的第一天(这可能与他们的语言环境和 dayjs 本地设置文件冲突)。然后如何覆盖单个 firstdayofweek 本地设置?我将如何应用以下变量?

var firstDayOfWeek = @server_generated_var;

更新

我发现我应该能够做到这一点:

dayjs.locale(localeAbbr, { weekStart: firstDayOfWeek  });

如果仅使用日期操作函数,这在技术上是有效的,但它会使 format() 函数无用,总是导致 JS 错误。这是库中的一个错误,已在 GitHub 中提出,但显然从未得到解决。

Cannot read property '7' of undefined

我可以使用以下方法克服这个问题并“解决”我的问题(使用 ASP.Net 剃须刀)

    dayjs.locale('@locale');
    dayjs.Ls.@(locale).weekStart = @(firstDayOfWeek);

在我的情况下,它呈现并按预期工作。

    dayjs.locale('en');
    dayjs.Ls.en.weekStart = 1;

我想使用首选方法,但在修复错误之前,我不能。希望这可以帮助与我有同样问题的其他人。

4

0 回答 0