IST is 5.30 uur eerder dan UTC, dus wanneer de 13e begint in IST, d.w.z. 2015-03-13 : 00:00:00
het is 2015-03-12 18:30:00
in UTC
mysql> select convert_tz('2015-03-13T00:00:00+00:00','+00:00','+05:30') ;
+-----------------------------------------------------------+
| convert_tz('2015-03-13T00:00:00+00:00','+00:00','+05:30') |
+-----------------------------------------------------------+
| 2015-03-12 18:30:00 |
+-----------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)
En wanneer 13 eindigt op IST, d.w.z. 2015-03-13 : 23:59:59
het is 2015-03-13 18:29:59
in UTC
mysql> select convert_tz('2015-03-13T23:59:59+00:00','+00:00','+05:30') ;
+-----------------------------------------------------------+
| convert_tz('2015-03-13T23:59:59+00:00','+00:00','+05:30') |
+-----------------------------------------------------------+
| 2015-03-13 18:29:59 |
+-----------------------------------------------------------+
Dus als u de gegevens in IST voor de 13e wilt ophalen, moet u gegevens zoeken binnen dit datumbereik.
Dus de toestand zou zijn zoals hieronder -
s.created_at
between convert_tz('2015-03-13T00:00:00+00:00','+00:00','+05:30')
and convert_tz('2015-03-13T23:59:59+00:00','+00:00','+05:30');
en aangezien u de conversie uitvoert op het moment van selecteren, worden alle 13e gegevens geretourneerd.