Was gibt dieser Code zurück? block.timestamp / 1 Tage

function today() private view returns (uint256) {
    return block.timestamp / 1 days;
}

Warum brauchen wir diese Funktion?

Antworten (2)

es wird zurückgegeben, wie viele Tage seit dem 1.1.1970 vergangen sind

1 Tage = 86400 Sekunden Epoche = 1531409238 Sekunden

Epoche/1 Tage = 17724 Tage, 15 Stunden, 26 Minuten und 40 Sekunden.

Dies hilft Ihnen zu wissen, an welchem ​​​​Tag / Datum Sie sich befinden, wenn wir diese Funktion 1970 + 17724 Tag ausführen

block.timestampLaut der Solidity-Dokumentation ist der Zeitstempel des aktuellen Blocks in Sekunden seit der Unix-Epoche.

daysist eine in Solidity eingebaute Zeiteinheit

Wenn Sie die Zeit in Sekunden durch 1 Tag im Wert von Sekunden teilen, erhalten Sie den heutigen Tag

block.timestamp = 1 531 399 433 Sekunden 1 Tag = 86400 Sekunden 1 531 399 433 / 86400 = 17724,5304745 Sekunden Wenn Sie die Zeit in Sekunden durch 1 Tag im Wert von Sekunden teilen, erhalten Sie den heutigen Tag. Was meinst du mit "gibt dich heute zurück"?
Jeder perfekte 'Tag' seit der Unix-Epoche kann als ganze Zahl dargestellt werden. Ein „perfekter Tag“ in diesem Szenario ist etwas mit der Zeit genau 00:00:00. Der Blockzeitstempel 1 531 399 433 ist kein perfekter Tag. Der ganzzahlige Teil der Division, 17724, ist der Tag seit der Unix-Epoche und der Dezimalteil repräsentiert die spezifische Zeit