diff --git a/frontend/src/metabase/lib/query_time.js b/frontend/src/metabase/lib/query_time.js
index 3f009e4ba9f2f6828c989aefacfe8b23b94ed269..d9baad1e73c313ddb5a23f5e85c6f84a633f1c93 100644
--- a/frontend/src/metabase/lib/query_time.js
+++ b/frontend/src/metabase/lib/query_time.js
@@ -3,6 +3,7 @@ import inflection from "inflection";
 
 import { mbqlEq } from "metabase/lib/query/util";
 import { formatTimeWithUnit } from "metabase/lib/formatting";
+import { parseTimestamp } from "metabase/lib/time";
 
 export const DATETIME_UNITS = [
   // "default",
@@ -139,7 +140,7 @@ export function generateTimeIntervalDescription(n, unit) {
 
 export function generateTimeValueDescription(value, bucketing) {
   if (typeof value === "string") {
-    let m = moment(value);
+    const m = parseTimestamp(value, bucketing);
     if (bucketing) {
       return formatTimeWithUnit(value, bucketing);
     } else if (m.hours() || m.minutes()) {
diff --git a/frontend/src/metabase/qb/lib/actions.js b/frontend/src/metabase/qb/lib/actions.js
index 95d7108f314a4cb458fcefbb30b9a882e610880b..678956f2ee672b9326b4efe1a9ad58aff3e58e3d 100644
--- a/frontend/src/metabase/qb/lib/actions.js
+++ b/frontend/src/metabase/qb/lib/actions.js
@@ -104,13 +104,13 @@ export const filter = (card, operator, column, value) => {
   return newCard;
 };
 
-const drillFilter = (card, value, column) => {
+export const drillFilter = (card, value, column) => {
   let filter;
   if (isDate(column)) {
     filter = [
       "=",
       ["datetime-field", getFieldRefFromColumn(column), "as", column.unit],
-      parseTimestamp(value, column.unit).toISOString(),
+      parseTimestamp(value, column.unit).format(),
     ];
   } else {
     const range = rangeForValue(value, column);
diff --git a/frontend/test/modes/lib/actions.unit.spec.js b/frontend/test/modes/lib/actions.unit.spec.js
new file mode 100644
index 0000000000000000000000000000000000000000..73d154343d5ce1683f55185b32a6187cfc25418e
--- /dev/null
+++ b/frontend/test/modes/lib/actions.unit.spec.js
@@ -0,0 +1,32 @@
+/* eslint-disable flowtype/require-valid-file-annotation */
+
+import { drillFilter } from "metabase/qb/lib/actions";
+import moment from "moment";
+
+describe("actions", () => {
+  describe("drillFilter", () => {
+    it("should add the filter with the same timezone", () => {
+      const newCard = drillFilter(
+        {
+          dataset_query: {
+            type: "query",
+            query: {},
+          },
+        },
+        moment("2018-04-27T00:00:00.000+02:00"),
+        {
+          base_type: "type/DateTime",
+          id: 123,
+          unit: "day",
+        },
+      );
+      expect(newCard.dataset_query.query).toEqual({
+        filter: [
+          "=",
+          ["datetime-field", ["field-id", 123], "as", "day"],
+          "2018-04-27T00:00:00+02:00",
+        ],
+      });
+    });
+  });
+});