Date ISO Custom format
There are two thing to do for the date format:

First create a date format (admin/config/regional/date-time/formats/add): this where you define how the date will be display and a simple PHP string date format is all you need something like 'm/d/Y' will show the date as 08/20/2012.

Once the date format is added you can use it on any "Date Type" (admin/config/regional/date-time) or you can create your own date type and assign the date format to it.

To display different date formats depending on what view of node is you have multiple options:


Use panels, views, context or display suite and format the date to your date type or date format
Edit or create a template for your node type (node--CONTENT-TYPE.tpl.php if D7 or node-CONTENT-TYPE.tpl.php if D6) and use the format_date function to format it.

if ($teaser) {
format_date($node->created, 'custom', 'Y-m-d H:i O'));
} else {
format_date($node->created, 'custom', 'H:i O Y-m-d'));
}


OR using your date type:

if ($teaser) {
format_date($node-&gt;created, 'DATE-TYPE'));
} else {
format_date($node-&gt;created, 'DATE-TYPE'));
}