Я использую Laravel 5.7 для API и Vue для внешнего интерфейса.В ответ на API я получаю метку времени последнего просмотра пользователя как last_seen: "2019-04-17 05:20:37"
, которая по умолчанию в формате UTC.
Код API Laravel:
$user_details = array(
'user_id' => $userId,
'name' => $userDetails->name,
'email' => $userDetails->email,
'phone' => $userDetails->contact,
'account_creation_date' => $userDetails->created_at->toDateTimeString(),
'last_seen' => $lastSeen != null ? $lastSeen->toDateTimeString() : $userDetails->last_login->toDateTimeString(),
'language' => 'English',
'country' => $country->name
);
$user_profile['user_details'] = $user_details;
return response()->api(true, 'Success', $user_profile);
Это ответ API, который я получаю: ![enter image description here](https://i.stack.imgur.com/uMqJQ.png)
На внешнем интерфейсе, т. Е. В vue, я использую Dayjs Package , чтобы показать последнего пользователя, которого виделикак [Day|Hours|Minutes] ago
, но проблема в . Предполагаемый пользователь только что вошел в систему , но я вижу, что он показывает 6 Hours ago
Поскольку я нахожусь в Азия / Калькутта часовой пояс код принимает также 5,5 / 6 часов.
Также я пытался с moment.js
, но я получаю undefined function moment.tz.guess()
ошибка
Это то, что я пытался до сих пор:
Я передаю строку даты и времени в мою функцию vuejs:
import dayjs from "dayjs";
convertFromNow(date) {
return dayjs(date).fromNow();
},
и затем вызываю этот метод для печати как 1 minute ago
.
<div class="side-box mt-4">
<h2 class="side-head">
<i class="fa fa-clock-o" />
{{ convertFromNow(userInfo.user_details.last_seen) }}
<h6 class="text-gray">
Last seen
</h6>
</h2>
</div>
Ожидаемые результаты, которые мне нужны, это то, что я должен в последний раз видеть пользователя в соответствии с моим часовым поясом независимо от времени UTC.