我正在使用一个适用于多个时区的应用程序。
此处服务器返回的纪元日期。
我需要一个可以将大纪元日期转换为 JavaScript日期的函数。
此外,我还要求将 JavaScript日期发送到大纪元日期,以便在发布数据上发回服务器。
答案 0 :(得分:7)
@Parth Trivedi我为你做了两个功能。
$(document).ready(function () {
alert("Date to Epoch:" + Epoch(new Date()));
alert("Epoch to Date:" + EpochToDate(Epoch(new Date())));
});
//Epoch
function Epoch(date) {
return Math.round(new Date(date).getTime() / 1000.0);
}
//Epoch To Date
function EpochToDate(epoch) {
if (epoch < 10000000000)
epoch *= 1000; // convert to milliseconds (Epoch is usually expressed in seconds, but Javascript uses Milliseconds)
var epoch = epoch + (new Date().getTimezoneOffset() * -1); //for timeZone
return new Date(epoch);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
答案 1 :(得分:0)
const epochToDateHuman = ({epochTime=0})=>{
const valueConvert = 60000 // Base convert to Minutes to milliseconds
const milliseconds = 1000
const zone = (new Date().getTimezoneOffset() * -1 ) * valueConvert // Return subtract time zone
const newEpoch = epochTime * milliseconds // Convert new value in milliseconds
const dateConvert = new Date(newEpoch + zone) // New Date + Zone
return dateConvert}
const epoch = 1619456956
epochToDateHuman({epoch})
这个箭头函数 epochToDateHuman,接收你想要转换为区域日期的名为 epochTime 的参数, const valueConvert 是将获得的以分钟为单位的区域转换为毫秒的基础,因为 Date()。 getTimezoneOffset () 以分钟为单位返回您的区域时间差,当我们在 epochTime 中接收时,我们将它们转换为毫秒乘以常数毫秒,像这样我们获得 newEpoch 以毫秒为单位的新值和以负毫秒为单位的区域,它将从 newEpoch 中减去传递给一个新的日期,我们获得该日期区域的值... 快乐黑客
泽拉索!