Show datetime value in views with entity api
You won't need to define a custom getter callback for known data types with a schema field since it can use entity_property_verbatim_get as it's getter callback, which is used by default if no 'getter callback' property is set.

$properties = &amp;$info['foo']['properties'];
$properties['created'] = array(
  'label' =&gt; t('Date created'),
  'description' =&gt; t('The date the foo entity was created.'),
  'type' =&gt; 'date',
  'schema field' =&gt; 'created',
);


For maximum control, I would suggest you try describing your entity to views. Assuming you have an entity type called foo, stored in the table foo with a created field, you can:

/**
 * Implements hook_views_data()
 */
function foo_views_data() {
  $data = array();

  $data['foo']['table']['group']  = t('Foo entity');

  $data['foo']['table']['base'] = array(
    'field' =&gt; 'foo_id',
    'title' =&gt; t('Foo entity'),
    'help' =&gt; t('The foo entity.'),
  );
  $data['foo']['table']['entity type'] = 'foo';

  // Expose a timestamp (e.g. created date).
  $data['foo']['created'] = array(
    'title' =&gt; t('Created'),
    'help' =&gt; t('The date the foo was created.'),
    'field' =&gt; array(
      'handler' =&gt; 'views_handler_field_date',
      'click sortable' =&gt; TRUE,
    ),
    'sort' =&gt; array(
      'handler' =&gt; 'views_handler_sort_date',
    ),
    'filter' =&gt; array(
      'handler' =&gt; 'views_handler_filter_date',
    ),
  );
}


Then, you can also do things like:

// An argument handler accepting year and month
$data['created']['created_year_month'] = array(
  'title' =&gt; t('Created year + month'),
  'help' =&gt; t('In the form of YYYYMM.'),
  'argument' =&gt; array(
    'field' =&gt; 'created',
    'handler' =&gt; 'views_handler_argument_node_created_year_month',
  ),
);


For more info on integrating with views, you can install Advanced help module, and check out the included Views documentation.