diff --git a/scripts/portable_date.sh b/scripts/portable_date.sh
index 84a18eb62190549404c86f1082ac571fa035f8b0..244f545a257a6c1a426b7e6b56c617d65129fd2e 100755
--- a/scripts/portable_date.sh
+++ b/scripts/portable_date.sh
@@ -2,10 +2,10 @@
 
 case $(uname) in
 	NetBSD|OpenBSD|DragonFly|FreeBSD|Darwin)
-		date -r $1 $2
+		date -j -f "%Y-%m-%d %H:%M:%S %z" "$1" "$2" 2>/dev/null
 		;;
 	*)
-		date -d @$1 $2
+		date -d "@$1" "$2"
 esac
 
 exit $?