as.Date (as.POSIXct ()) da la fecha incorrecta?

Intenté mirar a través de un marco de datos extrayendo todas las filas donde el componente de fecha de una columna POSIXct coincidía con un cierto valor. Encontré lo siguiente, lo que me confunde enormemente:as.Date(as.POSIXct(...)) No siempre devuelve la fecha correcta.

> dt <- as.POSIXct('2012-08-06 09:35:23')
[1] "2012-08-06 09:35:23 EST"
> as.Date(dt)
[1] "2012-08-05"

¿Por qué es la fecha de '2012-08-06 09:35:23 'igual a' 2012-08-05?

Sospecho que es algo que ver con diferentes zonas horarias que se utilizan, por lo que teniendo en cuenta que la zona horaria dedt era 'EST' le di esto aas.Date::

> as.Date(as.POSIXct('2012-08-06 09:35:23'), tz='EST')
[1] "2012-08-05"

Pero todavía regresa el 2012-08-05.

¿Por qué es esto? ¿Cómo puedo encontrar todos los tiempos de datos en mi marco de datos que estaban en la fecha 2012-08-06? (comosubset(my.df, as.character(as.Date(datetime), tz='EST') == '2012-08-06') no devuelve la fila con datetimedt Aunque esto ocurrió en la fecha 2012-08-06 ...)?

Detalles agregados: Linux de 64 bits (aunque se puede reproducir en 32 bits), puede obtener esto tanto en R 3.0.1 como en 3.0.0, y actualmente estoy en AEST (hora estándar del este de Australia)

Respuestas a la pregunta(2)

Su respuesta a la pregunta