1 second ago → 1s
1 minute ago → 1m
1 day ago → 1d
1 week ago → 1w
1 month ago → ???
1 year ago → 1y
I don't think 1M (as seen in programming) / 1mi / 1mo or any case would be preferable. What exactly is a month ago? Is it 28 days? 30? 31? When did I read this timestamp? Will quick readers misinterpret "1 year and 2 months ago"? (is there even a possibility to quick read?)
What is the exact purpose you want to use this for? Does "Last month
" or "Posted on 20 Nov
" / "Posted on 20 Nov 2017
" not suffice? A general, short, human readable timestamp such as 15:19:03 04/01/2018
is less prone to confusing users to when exactly something was posted, uploaded or anything.
How relevant is time specifics to you? Do users have to know the exact time when a something was done? Do you want your users to calculate, or do you want to have a feel around the time, as seen as here; "asked 2 days ago
"?
In any case, the most common, modern approach I have seen on social media and such is that they show "24h ago", "1d ago", until a certain point (I believe 3 days), and after that, they show the date. There's still some confusion in "2 days ago" as it doesn't show the hours, but at least it's less confusing when you see a post after that time.