2019-11-08 03:19:27 +04:00
---
id: timestamps-addresses
title: Timestamps, Addresses
---
## Timestamps
Timestamps in LIGO, or in Michelson in general are available in smart contracts, while bakers baking the block (including the transaction in a block) are responsible for providing the given current timestamp for the contract.
### Current time
You can obtain the current time using the built-in syntax specific expression, please be aware that it's up to the baker to set the current timestamp value.
<!-- DOCUSAURUS_CODE_TABS -->
<!-- Pascaligo -->
2019-12-26 17:21:17 +04:00
```pascaligo group=a
2019-11-08 03:19:27 +04:00
const today: timestamp = now;
```
<!-- END_DOCUSAURUS_CODE_TABS -->
2020-01-04 00:49:42 +04:00
> When running code with ligo CLI, the option `--predecessor-timestamp` allows you to control what `now` returns.
2020-01-04 00:38:40 +04:00
2019-11-08 03:19:27 +04:00
### Timestamp arithmetic
In LIGO, timestamps can be added with `int` (s), this enables you to set e.g. time constraints for your smart contracts like this:
#### In 24 hours
<!-- DOCUSAURUS_CODE_TABS -->
<!-- Pascaligo -->
2019-12-26 17:21:17 +04:00
```pascaligo group=b
2019-11-08 03:19:27 +04:00
const today: timestamp = now;
const one_day: int = 86400;
const in_24_hrs: timestamp = today + one_day;
2020-01-04 00:38:40 +04:00
const some_date: timestamp = ("2000-01-01T10:10:10Z" : timestamp);
const one_day_later: timestamp = some_date + one_day;
2019-11-08 03:19:27 +04:00
```
<!-- END_DOCUSAURUS_CODE_TABS -->
#### 24 hours ago
<!-- DOCUSAURUS_CODE_TABS -->
<!-- Pascaligo -->
2019-12-26 17:21:17 +04:00
```pascaligo group=c
2019-11-08 03:19:27 +04:00
const today: timestamp = now;
const one_day: int = 86400;
2019-12-26 17:21:17 +04:00
const in_24_hrs: timestamp = today - one_day;
2019-11-08 03:19:27 +04:00
```
<!-- END_DOCUSAURUS_CODE_TABS -->
### Comparing timestamps
You can also compare timestamps using the same comparison operators as for numbers:
<!-- DOCUSAURUS_CODE_TABS -->
<!-- Pascaligo -->
2019-12-26 17:21:17 +04:00
```pascaligo group=c
2019-11-08 03:19:27 +04:00
const not_tommorow: bool = (now = in_24_hrs)
```
<!-- END_DOCUSAURUS_CODE_TABS -->
## Addresses
`address` is a LIGO datatype used for Tezos addresses (tz1, tz2, tz3, KT1, ...).
Here's how you can define an address:
<!-- DOCUSAURUS_CODE_TABS -->
<!-- Pascaligo -->
2019-12-26 17:21:17 +04:00
```pascaligo group=d
2019-11-08 03:19:27 +04:00
const my_account: address = ("tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx": address);
```
<!-- END_DOCUSAURUS_CODE_TABS -->