我使用Darksky API获取Yii 2.0中的天气信息。
这是向Darksky发送请求的方法,
https://api.darksky.net/forecast/[key]/[latitude],[longitude],[time]
当我在UNIX时间中使用变量time
(例如1540407992
)时,它运行良好。
但是我想以日期格式time
使用YYYY-mm-dd H:i:s
(例如2018-10-24 19:06:32
)而不将其转换为UNIX时间。
有可能吗?请给我正确的答案。
答案 0 :(得分:2)
根据API文档,有可能:
所需时间要么是UNIX时间(即从午夜开始的秒数 (格林尼治标准时间1970年1月1日)或以下格式的字符串: [YYYY]-[MM]-[DD] T [HH]:[MM]:[SS] [时区]。时区应为 省略(指所请求位置的本地时间),Z (指的是格林尼治标准时间),或者+ [HH] [MM]或-[HH] [MM]表示与 格林尼治标准时间(GMT)以小时和分钟为单位。时区仅用于确定 请求时间;响应将始终相对于 当地时区。
因此,您需要的格式为[YYYY]-[MM]-[DD]T[HH]:[MM]:[SS]
,例如您的示例2018-10-24 19:06:32
变成了2018-10-24T19:06:32
,带有可选的时区。
答案 1 :(得分:0)
我在应用程序中使用了此工具,并阅读了上文中提到的Darksky api文档和Angular DatePipe https://angular.io/api/common/DatePipe的文档。只是以为我会分享我使用的方法。
<h5>{{ day.time * 1000 | date: 'fullDate' }}</h5>
这将显示完整日期,例如2020年8月17日星期一。