date() doesn't do what you think it does.
date() is designed to convert Unix time to human readable time.
Unix time is an integer which denotes the number of seconds that have elapsed since midnight, December 31, 1969.
Therefore, a Unix time of "27" is 27 seconds after midnight, December 31, 1969. Similarly, there have been 1,187,875,998 seconds since that time so, the current Unix time is 1187875998.
When you say $x = "3min"; PHP is seeing that as "3". When you ask for the date() representation of Unix time, you get 3 seconds after midnight, Dec 31, 1969.
So if you got 00:03, then you got the right answer.