=== modified file 'modules/comment.views.inc'
--- modules/comment.views.inc	2009-04-08 18:04:47 +0000
+++ modules/comment.views.inc	2009-04-08 18:05:16 +0000
@@ -143,6 +143,59 @@
       'handler' => 'views_handler_filter_date',
     ),
   );
+  $data['comments']['timestamp_fulldate'] = array(
+    'title' => t('Created date'),
+    'help' => t('In the form of CCYYMMDD.'),
+    'argument' => array(
+      'field' => 'timestamp',
+      'handler' => 'views_handler_argument_comments_timestamp_fulldate',
+    ),
+  );
+
+  $data['comments']['timestamp_year_month'] = array(
+    'title' => t('Created year + month'),
+    'help' => t('In the form of YYYYMM.'),
+    'argument' => array(
+      'field' => 'timestamp',
+      'handler' => 'views_handler_argument_comments_timestamp_year_month',
+    ),
+  );
+
+  $data['comments']['timestamp_year'] = array(
+    'title' => t('Created year'),
+    'help' => t('In the form of YYYY.'),
+    'argument' => array(
+      'field' => 'timestamp',
+      'handler' => 'views_handler_argument_comments_timestamp_year',
+    ),
+  );
+
+  $data['comments']['timestamp_month'] = array(
+    'title' => t('Created month'),
+    'help' => t('In the form of MM (01 - 12).'),
+    'argument' => array(
+      'field' => 'timestamp',
+      'handler' => 'views_handler_argument_comments_timestamp_month',
+    ),
+  );
+
+  $data['comments']['timestamp_day'] = array(
+    'title' => t('Created day'),
+    'help' => t('In the form of DD (01 - 31).'),
+    'argument' => array(
+      'field' => 'timestamp',
+      'handler' => 'views_handler_argument_comments_timestamp_day',
+    ),
+  );
+
+  $data['comments']['timestamp_week'] = array(
+    'title' => t('Created week'),
+    'help' => t('In the form of WW (01 - 53).'),
+    'argument' => array(
+      'field' => 'timestamp',
+      'handler' => 'views_handler_argument_node_created_week',
+    ),
+  );
 
   // status (approved or not)
   $data['comments']['status'] = array(

=== added file 'modules/comment/views_handler_argument_dates_various.inc'
--- modules/comment/views_handler_argument_dates_various.inc	1970-01-01 00:00:00 +0000
+++ modules/comment/views_handler_argument_dates_various.inc	2009-04-08 18:05:16 +0000
@@ -0,0 +1,170 @@
+<?php
+// $Id$
+
+/**
+ * Argument handler for a full date (CCYYMMDD)
+ */
+class views_handler_argument_comments_timestamp_fulldate extends views_handler_argument_date {
+  /**
+   * Constructor implementation
+   */
+  function construct() {
+    parent::construct();
+    $this->format = 'F j, Y';
+    $this->arg_format = 'Ymd';
+    $this->formula = views_date_sql_format($this->arg_format, "***table***.$this->real_field");
+  }
+
+  /**
+   * Provide a link to the next level of the view
+   */
+  function summary_name($data) {
+    $created = $data->{$this->name_alias};
+    return format_date(strtotime($created), 'custom', $this->format, 0);
+  }
+
+  /**
+   * Provide a link to the next level of the view
+   */
+  function title() {
+    return format_date(strtotime($this->argument), 'custom', $this->format, 0);
+  }
+}
+
+/**
+ * Argument handler for a year (CCYY)
+ */
+class views_handler_argument_comments_timestamp_year extends views_handler_argument_date {
+  /**
+   * Constructor implementation
+   */
+  function construct() {
+    parent::construct();
+    $this->arg_format = 'Y';
+    $this->formula = views_date_sql_extract('YEAR', "***table***.$this->real_field");
+  }
+}
+
+/**
+ * Argument handler for a year plus month (CCYYMM)
+ */
+class views_handler_argument_comments_timestamp_year_month extends views_handler_argument_date {
+  /**
+   * Constructor implementation
+   */
+  function construct() {
+    parent::construct();
+    $this->format = 'F Y';
+    $this->arg_format = 'Ym';
+    $this->formula = views_date_sql_format($this->arg_format, "***table***.$this->real_field");
+  }
+
+  /**
+   * Provide a link to the next level of the view
+   */
+  function summary_name($data) {
+    $created = $data->{$this->name_alias};
+    return format_date(strtotime($created . "15"), 'custom', $this->format, 0);
+  }
+
+  /**
+   * Provide a link to the next level of the view
+   */
+  function title() {
+    return format_date(strtotime($this->argument . "15"), 'custom', $this->format, 0);
+  }
+}
+
+/**
+ * Argument handler for a month (MM)
+ */
+class views_handler_argument_comments_timestamp_month extends views_handler_argument_date {
+  /**
+   * Constructor implementation
+   */
+  function construct() {
+    parent::construct();
+    $this->formula = views_date_sql_extract('MONTH', "***table***.$this->real_field");
+    $this->format = 'F';
+    $this->arg_format = 'm';
+  }
+
+  /**
+   * Provide a link to the next level of the view
+   */
+  function summary_name($data) {
+    $month = str_pad($data->{$this->name_alias}, 2, '0', STR_PAD_LEFT);
+    return format_date(strtotime("2005" . $month . "15"), 'custom', $this->format);
+  }
+
+  /**
+   * Provide a link to the next level of the view
+   */
+  function title() {
+    $month = str_pad($this->argument, 2, '0', STR_PAD_LEFT);
+    return format_date(strtotime("2005" . $month . "15"), 'custom', $this->format, 0);
+  }
+
+  function summary_argument($data) {
+    // Make sure the argument contains leading zeroes.
+    return str_pad($data->{$this->base_alias}, 2, '0', STR_PAD_LEFT);
+  }
+}
+
+/**
+ * Argument handler for a day (DD)
+ */
+class views_handler_argument_comments_timestamp_day extends views_handler_argument_date {
+  /**
+   * Constructor implementation
+   */
+  function construct() {
+    parent::construct();
+    $this->formula = views_date_sql_extract('DAY', "***table***.$this->real_field");
+    $this->format = 'j';
+    $this->arg_format = 'd';
+  }
+
+  /**
+   * Provide a link to the next level of the view
+   */
+  function summary_name($data) {
+    $day = str_pad($data->{$this->name_alias}, 2, '0', STR_PAD_LEFT);
+    return format_date(strtotime("2005" . "05" . $day), 'custom', $this->format, 0);
+  }
+
+  /**
+   * Provide a link to the next level of the view
+   */
+  function title() {
+    $day = str_pad($this->argument, 2, '0', STR_PAD_LEFT);
+    return format_date(strtotime("2005" . "05" . $day), 'custom', $this->format, 0);
+  }
+
+  function summary_argument($data) {
+    // Make sure the argument contains leading zeroes.
+    return str_pad($data->{$this->base_alias}, 2, '0', STR_PAD_LEFT);
+  }
+}
+
+/**
+ * Argument handler for a week.
+ */
+class views_handler_argument_comments_timestamp_week extends views_handler_argument_date {
+  /**
+   * Constructor implementation
+   */
+  function construct() {
+    parent::construct();
+    $this->arg_format = 'w';
+    $this->formula = views_date_sql_extract('WEEK', "***table***.$this->real_field");
+  }
+
+  /**
+   * Provide a link to the next level of the view
+   */
+  function summary_name($data) {
+    $created = $data->{$this->name_alias};
+    return t('Week @week', array('@week' => $created));
+  }
+}

