Index: plugins/content_types/node_context/node_created.inc
===================================================================
--- plugins/content_types/node_context/node_created.inc	(revision 576)
+++ plugins/content_types/node_context/node_created.inc	(working copy)
@@ -32,7 +32,13 @@
   $block = new stdClass();
   $block->module  = 'node_created';
   $block->title   = t('Created date');
-  $block->content = format_date($node->created, $conf['format']);
+  if (in_array($conf['format'], array('small', 'medium', 'large'))) {
+    $block->content = format_date($node->created, $conf['format']);
+  }
+  else {
+    $block->content = format_date($node->created, 'custom', $conf['format']);
+  }
+
   $block->delta   = $node->nid;
 
   return $block;
@@ -45,14 +51,24 @@
   $conf = $form_state['conf'];
 
   $time = time();
+  
+  $options = array(
+    'small' => format_date($time, 'small'),
+    'medium' => format_date($time, 'medium'),
+    'large' => format_date($time, 'large'),
+  );
+
+  if (function_exists('date_get_formats')) {
+    $date_formats = date_get_formats();
+    foreach ($date_formats['custom'] as $format_string => $extra) {
+    	$options[$format_string] = format_date($time, 'custom', $format_string);
+    }
+  }
+  
   $form['format'] = array(
     '#title' => t('Date format'),
     '#type' => 'select',
-    '#options' => array(
-      'small' => format_date($time, 'small'),
-      'medium' => format_date($time, 'medium'),
-      'large' => format_date($time, 'large'),
-    ),
+    '#options' => $options,
     '#default_value' => $conf['format'],
   );
 }
Index: plugins/content_types/node_context/node_updated.inc
===================================================================
--- plugins/content_types/node_context/node_updated.inc	(revision 576)
+++ plugins/content_types/node_context/node_updated.inc	(working copy)
@@ -32,7 +32,13 @@
   $block = new stdClass();
   $block->module  = 'node_updated';
   $block->title   = t('Last updated date');
-  $block->content = format_date(!empty($node->changed) ? $node->changed : $node->created, $conf['format']);
+  $changed = !empty($node->changed) ? $node->changed : $node->created;
+  if (in_array($conf['format'], array('small', 'medium', 'large'))) {
+    $block->content = format_date($changed, $conf['format']);
+  }
+  else {
+    $block->content = format_date($changed, 'custom', $conf['format']);
+  }
   $block->delta   = $node->nid;
 
   return $block;
@@ -45,14 +51,24 @@
   $conf = $form_state['conf'];
 
   $time = time();
+
+  $options = array(
+    'small' => format_date($time, 'small'),
+    'medium' => format_date($time, 'medium'),
+    'large' => format_date($time, 'large'),
+  );
+
+  if (function_exists('date_get_formats')) {
+    $date_formats = date_get_formats();
+    foreach ($date_formats['custom'] as $format_string => $extra) {
+    	$options[$format_string] = format_date($time, 'custom', $format_string);
+    }
+  }
+
   $form['format'] = array(
     '#title' => t('Date format'),
     '#type' => 'select',
-    '#options' => array(
-      'small' => format_date($time, 'small'),
-      'medium' => format_date($time, 'medium'),
-      'large' => format_date($time, 'large'),
-    ),
+    '#options' => $options,
     '#default_value' => $conf['format'],
   );
 }
