In fact 8601 specifies an entire range of ways to specify dates and times, but if you’re simply after YYYY-MM-DDTHH:MM:SSZ then use:
date -u +%Y-%m-%dT%H:%M:%SZ
UPDATE 12-Sep-2011: While I’m at it, in Java:
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); format.setTimeZone(TimeZone.getTimeZone("UTC")); System.out.println(format.format(new Date()));