here's my view filter Content: Published (Yes) AND
Content: Type (= Event)
AND
Content: Event Date - start date (now) OR | Settings
Content: Event Date - end date:value2 (now) | Settings
AND
Content: Event Date - start date (last day of next month) | Settings

here's the sql query generated from the 7.x-3.0 version
SELECT node.nid AS nid, node.title AS node_title, field_data_field_event_date.field_event_date_value AS field_data_field_event_date_field_event_date_value, 'node' AS field_data_field_event_date_node_entity_type, 'node' AS field_data_body_node_entity_type
FROM
{node} node
LEFT JOIN {field_data_field_event_date} field_data_field_event_date ON node.nid = field_data_field_event_date.entity_id AND (field_data_field_event_date.entity_type = 'node' AND field_data_field_event_date.deleted = '0')
WHERE (( (node.status = '1') AND (node.type IN ('event')) )AND( (DATE_FORMAT(ADDTIME(field_data_field_event_date.field_event_date_value, SEC_TO_TIME(-18000)), '%Y-%m-%d') >= '2012-01-18') OR (DATE_FORMAT(ADDTIME(field_data_field_event_date.field_event_date_value2, SEC_TO_TIME(-18000)), '%Y-%m-%d') >= '2012-01-18') )AND( (DATE_FORMAT(ADDTIME(field_data_field_event_date.field_event_date_value, SEC_TO_TIME(-18000)), '%Y-%m-%d') <= '2012-02-29') ))
ORDER BY field_data_field_event_date_field_event_date_value ASC

(note the 'last day of next month' is computed correctly as '2012-02-29')

this is what is now generated in the 7.x-3.1 (i've also tried this in the dev version with the same results)

SELECT node.nid AS nid, node.title AS node_title, field_data_field_event_date.field_event_date_value AS field_data_field_event_date_field_event_date_value, 'node' AS field_data_field_event_date_node_entity_type, 'node' AS field_data_body_node_entity_type
FROM
{node} node
LEFT JOIN {field_data_field_event_date} field_data_field_event_date ON node.nid = field_data_field_event_date.entity_id AND (field_data_field_event_date.entity_type = 'node' AND field_data_field_event_date.deleted = '0')
WHERE (( (node.status = '1') AND (node.type IN ('event')) )AND( (DATE_FORMAT(ADDTIME(field_data_field_event_date.field_event_date_value, SEC_TO_TIME(-18000)), '%Y-%m-%d') <= '') )AND( (DATE_FORMAT(ADDTIME(field_data_field_event_date.field_event_date_value, SEC_TO_TIME(-18000)), '%Y-%m-%d') >= '2012-01-18') OR (DATE_FORMAT(ADDTIME(field_data_field_event_date.field_event_date_value2, SEC_TO_TIME(-18000)), '%Y-%m-%d') >= '2012-01-18') ))
ORDER BY field_data_field_event_date_field_event_date_value ASC

(note the sequence is different and the date is empty) if i change 'last day of next month' to 'last day next month' (eliminate the 'of') it computes to '2012-02-17 - which is incorrect).

Comments

marthasa’s picture

hello? can anyone help me with this issue please?

dawehner’s picture

Status: Active » Postponed (maintainer needs more info)

Maybe it would be cool if you could post an export to see that you have configured.

Another really cool way would be if you could run the query once for views 3.0 and once for views 3.1 and post both queries.
This would allow to see that was changed and based on this see whether there might be a bad change.

snaisel’s picture

Sorry about my english...
I have the same problem.
I'm trying to filter the results of a table in separated views, each one: weekly, monthly, 'three month' and yearly.
And the results that views show to me it's not the correct.
My export:

$view = new view;
$view->name = 'cifras_comerciales_mensual';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'users';
$view->human_name = 'cifras-comerciales-mensual';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'Tabla Comerciales Mensual';
$handler->display->display_options['use_more_text'] = 'más';
$handler->display->display_options['group_by'] = TRUE;
$handler->display->display_options['access']['type'] = 'role';
$handler->display->display_options['access']['role'] = array(
5 => '5',
3 => '3',
);
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['distinct'] = TRUE;
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['exposed_form']['options']['reset_button_label'] = 'Reiniciar';
$handler->display->display_options['exposed_form']['options']['exposed_sorts_label'] = 'Ordenar por';
$handler->display->display_options['exposed_form']['options']['sort_asc_label'] = 'Ascendente';
$handler->display->display_options['pager']['type'] = 'none';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['style_plugin'] = 'tablesummarized';
$handler->display->display_options['style_options']['columns'] = array(
'uid' => 'uid',
'name' => 'name',
'field_fecha_visita' => 'field_fecha_visita',
'field_estado' => 'field_estado',
'field_cobrado' => 'field_cobrado',
'expression' => 'expression',
);
$handler->display->display_options['style_options']['default'] = 'uid';
$handler->display->display_options['style_options']['info'] = array(
'uid' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
'summarize' => 'none',
),
'name' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
'summarize' => 'none',
),
'field_fecha_visita' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
'summarize' => 'total',
),
'field_estado' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
'summarize' => 'total',
),
'field_cobrado' => array(
'sortable' => 0,
'default_sort_order' => 'asc',
'align' => '',
'separator' => '',
'empty_column' => 0,
'summarize' => 'total',
),
'expression' => array(
'align' => '',
'separator' => '',
'empty_column' => 0,
'summarize' => 'average',
),
);
$handler->display->display_options['style_options']['override'] = 1;
$handler->display->display_options['style_options']['sticky'] = 0;
$handler->display->display_options['style_options']['empty_table'] = 0;
/* Relación: Usuario: Contenido generado */
$handler->display->display_options['relationships']['uid']['id'] = 'uid';
$handler->display->display_options['relationships']['uid']['table'] = 'users';
$handler->display->display_options['relationships']['uid']['field'] = 'uid';
$handler->display->display_options['relationships']['uid']['required'] = 0;
/* Campo: Usuario: Uid */
$handler->display->display_options['fields']['uid']['id'] = 'uid';
$handler->display->display_options['fields']['uid']['table'] = 'users';
$handler->display->display_options['fields']['uid']['field'] = 'uid';
$handler->display->display_options['fields']['uid']['exclude'] = TRUE;
$handler->display->display_options['fields']['uid']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['uid']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['uid']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['uid']['alter']['external'] = 0;
$handler->display->display_options['fields']['uid']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['uid']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['uid']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['uid']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['uid']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['uid']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['uid']['alter']['trim'] = 0;
$handler->display->display_options['fields']['uid']['alter']['html'] = 0;
$handler->display->display_options['fields']['uid']['element_label_colon'] = 1;
$handler->display->display_options['fields']['uid']['element_default_classes'] = 1;
$handler->display->display_options['fields']['uid']['hide_empty'] = 0;
$handler->display->display_options['fields']['uid']['empty_zero'] = 0;
$handler->display->display_options['fields']['uid']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['uid']['link_to_user'] = 1;
/* Campo: Usuario: Nombre */
$handler->display->display_options['fields']['name']['id'] = 'name';
$handler->display->display_options['fields']['name']['table'] = 'users';
$handler->display->display_options['fields']['name']['field'] = 'name';
$handler->display->display_options['fields']['name']['label'] = '';
$handler->display->display_options['fields']['name']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['name']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['name']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['name']['alter']['word_boundary'] = 0;
$handler->display->display_options['fields']['name']['alter']['ellipsis'] = 0;
$handler->display->display_options['fields']['name']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['name']['alter']['trim'] = 0;
$handler->display->display_options['fields']['name']['alter']['html'] = 0;
$handler->display->display_options['fields']['name']['hide_empty'] = 0;
$handler->display->display_options['fields']['name']['empty_zero'] = 0;
$handler->display->display_options['fields']['name']['link_to_user'] = 1;
$handler->display->display_options['fields']['name']['overwrite_anonymous'] = 0;
/* Campo: COUNT(Contenido: Fecha Visita) */
$handler->display->display_options['fields']['field_fecha_visita']['id'] = 'field_fecha_visita';
$handler->display->display_options['fields']['field_fecha_visita']['table'] = 'field_data_field_fecha_visita';
$handler->display->display_options['fields']['field_fecha_visita']['field'] = 'field_fecha_visita';
$handler->display->display_options['fields']['field_fecha_visita']['relationship'] = 'uid';
$handler->display->display_options['fields']['field_fecha_visita']['group_type'] = 'count';
$handler->display->display_options['fields']['field_fecha_visita']['label'] = 'Visitas';
$handler->display->display_options['fields']['field_fecha_visita']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_fecha_visita']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_fecha_visita']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_fecha_visita']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_fecha_visita']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_fecha_visita']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_fecha_visita']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_fecha_visita']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_fecha_visita']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_fecha_visita']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_fecha_visita']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_fecha_visita']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_fecha_visita']['element_label_colon'] = 1;
$handler->display->display_options['fields']['field_fecha_visita']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_fecha_visita']['hide_empty'] = 0;
$handler->display->display_options['fields']['field_fecha_visita']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_fecha_visita']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['field_fecha_visita']['separator'] = ', ';
$handler->display->display_options['fields']['field_fecha_visita']['format_plural'] = 0;
/* Campo: COUNT(Contenido: estado) */
$handler->display->display_options['fields']['field_estado']['id'] = 'field_estado';
$handler->display->display_options['fields']['field_estado']['table'] = 'field_data_field_estado';
$handler->display->display_options['fields']['field_estado']['field'] = 'field_estado';
$handler->display->display_options['fields']['field_estado']['relationship'] = 'uid';
$handler->display->display_options['fields']['field_estado']['group_type'] = 'count';
$handler->display->display_options['fields']['field_estado']['label'] = 'Pedidos Realizados';
$handler->display->display_options['fields']['field_estado']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_estado']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_estado']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_estado']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_estado']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_estado']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_estado']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_estado']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_estado']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_estado']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_estado']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_estado']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_estado']['element_label_colon'] = 1;
$handler->display->display_options['fields']['field_estado']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_estado']['hide_empty'] = 0;
$handler->display->display_options['fields']['field_estado']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_estado']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['field_estado']['separator'] = ', ';
$handler->display->display_options['fields']['field_estado']['format_plural'] = 0;
/* Campo: COUNT(Contenido: Cobrado) */
$handler->display->display_options['fields']['field_cobrado']['id'] = 'field_cobrado';
$handler->display->display_options['fields']['field_cobrado']['table'] = 'field_data_field_cobrado';
$handler->display->display_options['fields']['field_cobrado']['field'] = 'field_cobrado';
$handler->display->display_options['fields']['field_cobrado']['relationship'] = 'uid';
$handler->display->display_options['fields']['field_cobrado']['group_type'] = 'count';
$handler->display->display_options['fields']['field_cobrado']['label'] = 'Finalizados';
$handler->display->display_options['fields']['field_cobrado']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_cobrado']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_cobrado']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_cobrado']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_cobrado']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_cobrado']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_cobrado']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_cobrado']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_cobrado']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_cobrado']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_cobrado']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_cobrado']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_cobrado']['element_label_colon'] = 1;
$handler->display->display_options['fields']['field_cobrado']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_cobrado']['hide_empty'] = 0;
$handler->display->display_options['fields']['field_cobrado']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_cobrado']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['field_cobrado']['separator'] = ', ';
/* Campo: Global: Expresión matemática */
$handler->display->display_options['fields']['expression']['id'] = 'expression';
$handler->display->display_options['fields']['expression']['table'] = 'views';
$handler->display->display_options['fields']['expression']['field'] = 'expression';
$handler->display->display_options['fields']['expression']['label'] = 'Productividad';
$handler->display->display_options['fields']['expression']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['expression']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['expression']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['expression']['alter']['external'] = 0;
$handler->display->display_options['fields']['expression']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['expression']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['expression']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['expression']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['expression']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['expression']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['expression']['alter']['trim'] = 0;
$handler->display->display_options['fields']['expression']['alter']['html'] = 0;
$handler->display->display_options['fields']['expression']['element_label_colon'] = 0;
$handler->display->display_options['fields']['expression']['element_default_classes'] = 1;
$handler->display->display_options['fields']['expression']['hide_empty'] = 0;
$handler->display->display_options['fields']['expression']['empty_zero'] = 0;
$handler->display->display_options['fields']['expression']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['expression']['set_precision'] = 1;
$handler->display->display_options['fields']['expression']['precision'] = '2';
$handler->display->display_options['fields']['expression']['decimal'] = ',';
$handler->display->display_options['fields']['expression']['separator'] = ' ';
$handler->display->display_options['fields']['expression']['format_plural'] = 0;
$handler->display->display_options['fields']['expression']['suffix'] = ' %';
$handler->display->display_options['fields']['expression']['expression'] = '[field_cobrado] * 100 / [field_estado]';
/* Criterio de ordenación: Usuario: Fecha de creación */
$handler->display->display_options['sorts']['created']['id'] = 'created';
$handler->display->display_options['sorts']['created']['table'] = 'users';
$handler->display->display_options['sorts']['created']['field'] = 'created';
$handler->display->display_options['sorts']['created']['order'] = 'DESC';
/* Criterios de filtrado: Usuario: Activo */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'users';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = '1';
$handler->display->display_options['filters']['status']['group'] = 1;
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
/* Criterios de filtrado: Usuario: Roles */
$handler->display->display_options['filters']['rid']['id'] = 'rid';
$handler->display->display_options['filters']['rid']['table'] = 'users_roles';
$handler->display->display_options['filters']['rid']['field'] = 'rid';
$handler->display->display_options['filters']['rid']['value'] = array(
4 => '4',
);
$handler->display->display_options['filters']['rid']['group'] = 1;
$handler->display->display_options['filters']['rid']['reduce_duplicates'] = 0;
/* Criterios de filtrado: Contenido: Fecha del envío */
$handler->display->display_options['filters']['created']['id'] = 'created';
$handler->display->display_options['filters']['created']['table'] = 'node';
$handler->display->display_options['filters']['created']['field'] = 'created';
$handler->display->display_options['filters']['created']['relationship'] = 'uid';
$handler->display->display_options['filters']['created']['operator'] = 'between';
$handler->display->display_options['filters']['created']['value']['min'] = 'last day last month';
$handler->display->display_options['filters']['created']['value']['max'] = 'first day next month';
$handler->display->display_options['filters']['created']['value']['value'] = 'this month';
$handler->display->display_options['filters']['created']['value']['type'] = 'offset';
$handler->display->display_options['filters']['created']['group'] = 1;
$handler->display->display_options['filters']['created']['expose']['operator_id'] = 'created_op';
$handler->display->display_options['filters']['created']['expose']['label'] = 'Fecha del envío';
$handler->display->display_options['filters']['created']['expose']['use_operator'] = FALSE;
$handler->display->display_options['filters']['created']['expose']['operator'] = 'created_op';
$handler->display->display_options['filters']['created']['expose']['identifier'] = 'created';
$handler->display->display_options['filters']['created']['expose']['required'] = FALSE;
$handler->display->display_options['filters']['created']['expose']['remember'] = FALSE;
$handler->display->display_options['filters']['created']['expose']['multiple'] = FALSE;

/* Display: Page */
$handler = $view->new_display('page', 'Page', 'page');
$handler->display->display_options['path'] = 'cifras-comerciales-mensual';
$handler->display->display_options['menu']['type'] = 'normal';
$handler->display->display_options['menu']['title'] = 'Tablas Comerciales Mensual';
$handler->display->display_options['menu']['weight'] = '0';
$handler->display->display_options['menu']['name'] = 'user-menu';
$handler->display->display_options['menu']['context'] = 0;
$translatables['cifras_comerciales_mensual'] = array(
t('Master'),
t('Tabla Comerciales Mensual'),
t('más'),
t('Aplicar'),
t('Reiniciar'),
t('Ordenar por'),
t('Ascendente'),
t('Desc'),
t('nodos'),
t('Uid'),
t('Visitas'),
t('Pedidos Realizados'),
t('Finalizados'),
t('Productividad'),
t(','),
t(' '),
t(' %'),
t('Fecha del envío'),
t('Page'),
);

marthasa’s picture

sorry i'm confused. in my original post i have the sql generated by the view for the 7x.30 version and the 7x.3.1 version including the filter. what else do you need to help resolve this? i've now upgrade to 7.x-3.2 and it appears this is still not resolved. i have a simple content-type 'event' which has a date field. my view is set to filter on this content-type and i want the results from now to last day of next month. this was working in version 7.x.3.0.

so in the 7x.3.1 version
Filter criteria
Content: Published (Yes) AND
Content: Type (= Event)
AND
Content: Event Date - start date (now) OR | Settings
Content: Event Date - end date:value2 (now) | Settings
AND
Content: Event Date - start date (last day of next month) | Settings

generates the following sql:
SELECT node.nid AS nid, node.title AS node_title, field_data_field_event_date.field_event_date_value AS field_data_field_event_date_field_event_date_value, 'node' AS field_data_field_event_date_node_entity_type, 'node' AS field_data_body_node_entity_type
FROM
{node} node
LEFT JOIN {field_data_field_event_date} field_data_field_event_date ON node.nid = field_data_field_event_date.entity_id AND (field_data_field_event_date.entity_type = 'node' AND field_data_field_event_date.deleted = '0')
WHERE (( (node.status = '1') AND (node.type IN ('event')) )AND( (DATE_FORMAT(ADDTIME(field_data_field_event_date.field_event_date_value, SEC_TO_TIME(-18000)), '%Y-%m-%d') <= '') )AND( (DATE_FORMAT(ADDTIME(field_data_field_event_date.field_event_date_value, SEC_TO_TIME(-18000)), '%Y-%m-%d') >= '2012-02-22') OR (DATE_FORMAT(ADDTIME(field_data_field_event_date.field_event_date_value2, SEC_TO_TIME(-18000)), '%Y-%m-%d') >= '2012-02-22') ))
ORDER BY field_data_field_event_date_field_event_date_value ASC

as you'll see the placeholder for 'last day of next month' is '' but should be '2012-03-31'. this happened after the 3.0x upgrades. we are unable to update our views module until this is resolved.
thanks.

marthasa’s picture

Status: Postponed (maintainer needs more info) » Active

any more information on this issue - please.

dawehner’s picture

Project: Views (for Drupal 7) » Date
Version: 7.x-3.1 » 7.x-2.x-dev
Component: Miscellaneous » Views Filter

This should be better move to the date module.

karens’s picture

Status: Active » Fixed

The way that statements like that work are specific to your version of PHP. Phrases like that work fine for me in PHP 5.3, and do not work at all in PHP 5.2. Date module is just using what PHP 'knows'. When you say it worked before I find that hard to believe. I can see no way for it to work in PHP 5.2 and no way for it not to work in PHP 5.3. I wonder if you saw it work on one server and now you are trying it on another one.

We are using date_create() around whatever phrase you supply, it is just as smart as date_create() is. And date_create() is much smarted in PHP 5.3.

Anyway, when one phrase doesn't work you try another. In this case I found the following when using PHP 5.2:

Does not work:
- last day of next month
- first day of last month

Works:
- next month last day
- last month first day

In other words, PHP 5.3 can do it either way, but PHP 5.2 needs you to establish the month before you try to set the day.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.