I have developed a new way to encode/decode dates within 3 characters by using base36 format.
What is a base 36 format?
Base 36 or hexatridecimal is a positional numeral system using 36 as the radix. The choice of 36 is convenient in that the digits can be represented using the Arabic numerals 09 and the Latin letters AZ.
In simple language, base36 format refers to series of 09 followed by AZ characters, i.e., 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ; where each character refers to the position index in series.
The concept can also be represents as shown in the below table
e.g., 12 → C, 19 → J, 34 → Y
25Oct2019 → 25102019 → 25.10.19 → P.A.J → paj
paj → P.A.J → 25.10.19 → 20191025 → 25Oct2019
Note, here P.A.J is converted to lowercase as paj to make it more compact.
What is a base 36 format?
Base 36 or hexatridecimal is a positional numeral system using 36 as the radix. The choice of 36 is convenient in that the digits can be represented using the Arabic numerals 09 and the Latin letters AZ.
In simple language, base36 format refers to series of 09 followed by AZ characters, i.e., 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ; where each character refers to the position index in series.
The concept can also be represents as shown in the below table
Series

Character

Series

Character

Series

Character

Series

Character

0

0

10

A

20

K

30

U

1

1

11

B

21

L

31

V

2

2

12

C

22

M

32

W

3

3

13

D

23

N

33

X

4

4

14

E

24

O

34

Y

5

5

15

F

25

P

35

Z

6

6

16

G

26

Q



7

7

17

H

27

R



8

8

18

I

28

S



9

9

19

J

29

T



e.g., 12 → C, 19 → J, 34 → Y
Now here is a way to use the same logic for date, so to do that let us take a date and encode it as
Similarly, decode it back as
Note, here P.A.J is converted to lowercase as paj to make it more compact.