Date is a wrapper for the long of the Unix timestamp.
Unfortunately SimpleDateFormat has no output for Date.getTime()
.
Even the new LocalDateTime with DateTimeFormatter do not provide a string representation of the long.
You could extend your own date/time formatter from SimpleDateFormat. I think 'b' is free to use. That would be a needless effort, as a use-case for a format with Unix timestamp number and other units (year, month, ...) is rare.
After comment.
Aha, a task, a puzzle. You could abuse the SimpleDateFormat symbols on an artifical derived Date.
Calendar calendar = new Calendar();
long t = calendar.getTimeInMillis(); // The Unix timestamp
int ms = (int)(t % 1000);
int yr = (int)(t / 1000);
calendar.set(Calendar.MILLIS, ms);
calendar.set(Calendar.YEAR, yr);
Date artificialDate = calendar.getTime();
String s = new SimpleDateFormat("ySSS").parse(date);
Or you could create your own Locale that instead of a month name delivers the long. That seems to be asked here. But I leave that homework to you.