Как показать время, когда вызывается контракт блокчейна? - PullRequest
0 голосов
/ 19 апреля 2019

Я хочу показать время вызова контракта блокчейна.

В настоящее время я экономлю время в блокчейне, используя такой метод

function userCheckIn(uint placeid) public {
    userCount++;
    checkins[userCount] = Checkin(placeid, msg.sender, now);
} 

Однако now показывает случайноеномер во внешнем интерфейсе, как этот

1555650125
1555651118

Не могли бы вы дать мне какой-нибудь совет, пожалуйста?

Заранее большое спасибо.

Ответы [ 2 ]

2 голосов
/ 19 апреля 2019

Отметка времени кажется правильной.В большинстве языков программирования и компьютерных систем время хранится в виде метки времени, которая хранится в эпоху (метка времени Unix).Это большие (длинные) числа, которые представляют секунды из некоторого заданного предварительно определенного времени.

Чтобы преобразовать эту метку времени эпохи в удобочитаемое время, вы можете использовать любую библиотеку, которая принимает метку времени эпохи в своем конструкторе.

// Create a new JavaScript Date object based on the timestamp
// multiplied by 1000 so that the argument is in milliseconds, not seconds.
var date = new Date(unix_timestamp*1000);

// Hours part from the timestamp
var hours = date.getHours();

// Minutes part from the timestamp
var minutes = "0" + date.getMinutes();

// Seconds part from the timestamp
var seconds = "0" + date.getSeconds();

// Will display time in 10:30:23 format
var formattedTime = hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);

Обратитесь к этой записи для получения более подробной информации.

0 голосов
/ 19 апреля 2019

Это не случайные числа. Это временные метки, и они представляют миллисекунды, прошедшие с 1 января 1970 года. Чтобы извлечь дату, вам необходимо:

function userCheckIn(uint placeid) public {
     userCount++;
     checkins[userCount] = Checkin(placeid, msg.sender, new Date(now) );
} 

Поскольку now предоставляет вам действительные временные метки на веб-интерфейсе, new Date(now) легко даст вам время и дату. Если вы хотите дополнительно уточнить эту дату по месяцам, дневным часам и т. Д. Вместо использования стандартных методов js, вы можете найти momentJS library .

...