【发布时间】:2021-02-14 23:14:40
【问题描述】:
我目前正在使用原生 JavaScript 构建一个天气应用程序,但遇到了我的 iPhone 上如何显示格式化日期的问题。
这是我的代码:
dates = forecast.daily;
let conditions = "";
let minTemp = "";
let maxTemp = "";
let icon = "";
let timestamp = "";
let d = "";
let formattedDate = "";
let forecastInfoHTML = "";
dates.forEach((day) => {
conditions = day.weather[0].main;
minTemp = Math.round(day.temp.min);
maxTemp = Math.round(day.temp.max);
icon = day.weather[0].icon;
timestamp = day.dt;
d = new Date(timestamp * 1000);
formattedDate = new Intl.DateTimeFormat("en-US", {
dateStyle: "medium",
})
.format(d)
.substr(0, 6);
这就是我希望它的外观(在 Windows 和 Mac 浏览器上运行良好)-“2 月 15 日”:Correct way I want this displayed
这是它当前在我的 iPhone 上的显示方式 - '2/15/2':Incorrect display
JSON 数据使用 unix 编号,因此我需要能够将 unix 更改为日期。
【问题讨论】:
-
您的
d变量在两个平台上显示的值是否相同?如果是,则可能是两个平台上的 Intl lib 不同。 -
@Mellet - 我不确定如何在我的 iPhone 上检查
b变量的值? -
你用的是什么框架?应该只是在有一些调试工具的同时做一个 console.log。
-
@Mellet 我没有使用任何框架 - 纯粹的香草 JS
-
DateTimeFormat 生成的格式取决于实现。如果您想要一致的格式,请自行或使用库。
标签: javascript json api datetime