代码未按预期工作,请帮忙。我想将从数据库中获取的时间显示为浏览器时间(UTC)。
`最新数据:
最新数据时间戳”; $time = strtotime($utc); 回声“”。 date("Y-m-d H:i:s", $time)."为此,您必须将用户的时区存储在数据库中。如果您不存储时区,则必须使用 Javascript 执行。
<script>
// Get UTC time from Blade template
var utcTime = "{{ $utcTime->toIso8601String() }}";
// Convert UTC time to local time
var userLocalTime = new Date(utcTime);
var userTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
var userTimezoneOffset = new Date().getTimezoneOffset();
userLocalTime.setMinutes(userLocalTime.getMinutes() - userTimezoneOffset);
// Display user's local time
document.write("<div>User's Local Time: " + userLocalTime.toLocaleString() + "</div>");
要将 UTC 时间转换为 Laravel Blade 中用户的浏览器时间,您可以使用 JavaScript 在客户端处理转换。以下是如何实现此目标的简单示例:
<!DOCTYPE html>
<html>
<head>
<title>UTC to User Time</title>
</head>
<body>
<p>UTC Time: {{ $utc_time }}</p>
<script>
var utcTime = new Date('{{ $utc_time }}');
var userTime = new Date(utcTime.getTime() + (utcTime.getTimezoneOffset() * 60000));
document.write('User Time: ' + userTime);
</script>
</body>
</html>