Fix droiddoc date error on Darwin

Bug: b/109579193
Test: m -j all-docs
Change-Id: I708f200c8dbd5a135767d0ffb10786f223471850
diff --git a/java/droiddoc.go b/java/droiddoc.go
index 6c76262..7cf1710 100644
--- a/java/droiddoc.go
+++ b/java/droiddoc.go
@@ -19,6 +19,7 @@
 	"android/soong/java/config"
 	"fmt"
 	"path/filepath"
+	"runtime"
 	"strings"
 
 	"github.com/google/blueprint"
@@ -733,12 +734,20 @@
 	implicits = append(implicits, jsilver)
 	implicits = append(implicits, doclava)
 
+	var date string
+	if runtime.GOOS == "darwin" {
+		date = `date -r`
+	} else {
+		date = `date -d`
+	}
+
 	opts := "-source 1.8 -J-Xmx1600m -J-XX:-OmitStackTraceInFastThrow -XDignore.symbol.file " +
 		"-doclet com.google.doclava.Doclava -docletpath " + jsilver.String() + ":" + doclava.String() + " " +
 		"-templatedir " + templateDir + " " + htmlDirArgs + " " + htmlDir2Args + " " +
 		"-hdf page.build " + ctx.Config().BuildId() + "-" + ctx.Config().BuildNumberFromFile() + " " +
-		"-hdf page.now " + `"$$(date -d @$$(cat ` + ctx.Config().Getenv("BUILD_DATETIME_FILE") + `) "+%d %b %Y %k:%M")"` +
+		`-hdf page.now "$$(` + date + ` @$$(cat ` + ctx.Config().Getenv("BUILD_DATETIME_FILE") + `) "+%d %b %Y %k:%M")" ` +
 		" " + args
+
 	if BoolDefault(d.properties.Create_stubs, true) {
 		opts += " -stubs " + android.PathForModuleOut(ctx, "docs", "stubsDir").String()
 	}