Drupal:有起始和结束时间,来计算持续时间

来自站长百科
跳转至: 导航、​ 搜索

此例使用KarenS的日期模块来创建两个日期字段field_start_timefield_end_time,它们记录小时数和分钟数。接着我们创建一个计算型字段来定义持续时间--小时数--为一类小数数字,比如1.5就是1小时30分钟。

计算型字段设定:

  • Computed Code,计算代码:
$start_date = date_make_date($node->field_start_time[0]['value']);
$start = $start_date->db->parts;
$end_date = date_make_date($node->field_end_time[0]['value']);
$end = $end_date->db->parts;
$start_decimal = $start['hours'] + ($start['minutes'] / 60);
$end_decimal = $end['hours'] + ($end['minutes'] / 60);
$node_field[0]['value'] = $end_decimal - $start_decimal;
  • 检查 'Display this field'
  • Display Format,显示格式:$display = $node_field_item['value'] . " hours";
  • 检查 'Store using the database settings below'
  • Data Type,数据类型: float(浮点)
  • Data Length,数据长度: 3,2
  • 检查 'Sortable'