diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart01.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart01.java
index f1234c926e39a7764c4efe19c19c5aaca610dd8f..c66e9fd4db05f84cee9625b1c3e1be376997cc9f 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart01.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart01.java
@@ -19,15 +19,15 @@ import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Date;
-import java.util.TimeZone;
+import java.util.Random;
 
 import com.xeiam.xchart.Chart;
 import com.xeiam.xchart.SwingWrapper;
 import com.xeiam.xchart.demo.charts.line.ExampleChart;
 import com.xeiam.xchart.style.Series;
-import com.xeiam.xchart.style.StyleManager.LegendPosition;
 
 public class DateChart01 implements ExampleChart {
 
@@ -44,16 +44,18 @@ public class DateChart01 implements ExampleChart {
     // Create Chart
     Chart chart = new Chart(800, 600);
 
+    Random random = new Random();
+
     // generates linear data
     Collection<Date> xData = new ArrayList<Date>();
     Collection<Number> yData = new ArrayList<Number>();
 
-    DateFormat sdf = new SimpleDateFormat("ss:S");
+    DateFormat sdf = new SimpleDateFormat("ss.S");
     Date date = null;
-    for (int i = 1; i <= 10; i++) {
+    for (int i = 1; i <= 14; i++) {
 
       try {
-        date = sdf.parse("31:" + (100 * i));
+        date = sdf.parse("31." + (100 * i + random.nextInt(20)));
       } catch (ParseException e) {
         e.printStackTrace();
       }
@@ -63,10 +65,9 @@ public class DateChart01 implements ExampleChart {
 
     // Customize Chart
     chart.setChartTitle("DateChart01");
-    chart.getStyleManager().setTimezone(TimeZone.getTimeZone("UTC"));
-    chart.getStyleManager().setLegendPosition(LegendPosition.InsideNW);
-
+    chart.getStyleManager().setLegendVisible(false);
     Series series = chart.addDateSeries("value", xData, yData);
+    System.out.println(Arrays.toString(xData.toArray()));
 
     return chart;
 
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart02.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart02.java
new file mode 100644
index 0000000000000000000000000000000000000000..5c05e629b81354cc7ed8b06313fc3e9d51b28ee1
--- /dev/null
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart02.java
@@ -0,0 +1,74 @@
+/**
+ * Copyright 2011-2013 Xeiam LLC.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.xeiam.xchart.demo.charts.date;
+
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Random;
+
+import com.xeiam.xchart.Chart;
+import com.xeiam.xchart.SwingWrapper;
+import com.xeiam.xchart.demo.charts.line.ExampleChart;
+import com.xeiam.xchart.style.Series;
+
+public class DateChart02 implements ExampleChart {
+
+  public static void main(String[] args) {
+
+    ExampleChart exampleChart = new DateChart02();
+    Chart chart = exampleChart.getChart();
+    new SwingWrapper(chart).displayChart();
+  }
+
+  @Override
+  public Chart getChart() {
+
+    // Create Chart
+    Chart chart = new Chart(800, 600);
+
+    // generates linear data
+    Collection<Date> xData = new ArrayList<Date>();
+    Collection<Number> yData = new ArrayList<Number>();
+
+    Random random = new Random();
+
+    DateFormat sdf = new SimpleDateFormat("mm:ss.SSS");
+    Date date = null;
+    for (int i = 1; i <= 14; i++) {
+      try {
+        date = sdf.parse("23:" + (5 * i + random.nextInt(2)) + "." + random.nextInt(1000));
+      } catch (ParseException e) {
+        e.printStackTrace();
+      }
+      xData.add(date);
+      yData.add(Math.random() * i);
+    }
+
+    // Customize Chart
+    chart.setChartTitle("DateChart02");
+    chart.getStyleManager().setLegendVisible(false);
+    Series series = chart.addDateSeries("value", xData, yData);
+    System.out.println(Arrays.toString(xData.toArray()));
+
+    return chart;
+
+  }
+}
diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart03.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart03.java
new file mode 100644
index 0000000000000000000000000000000000000000..739c4f132812fd6bb7cc2c5a332fca31be2a6a1c
--- /dev/null
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/date/DateChart03.java
@@ -0,0 +1,74 @@
+/**
+ * Copyright 2011-2013 Xeiam LLC.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.xeiam.xchart.demo.charts.date;
+
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Random;
+
+import com.xeiam.xchart.Chart;
+import com.xeiam.xchart.SwingWrapper;
+import com.xeiam.xchart.demo.charts.line.ExampleChart;
+import com.xeiam.xchart.style.Series;
+
+public class DateChart03 implements ExampleChart {
+
+  public static void main(String[] args) {
+
+    ExampleChart exampleChart = new DateChart03();
+    Chart chart = exampleChart.getChart();
+    new SwingWrapper(chart).displayChart();
+  }
+
+  @Override
+  public Chart getChart() {
+
+    // Create Chart
+    Chart chart = new Chart(800, 600);
+
+    // generates linear data
+    Collection<Date> xData = new ArrayList<Date>();
+    Collection<Number> yData = new ArrayList<Number>();
+
+    Random random = new Random();
+
+    DateFormat sdf = new SimpleDateFormat("HH:mm:ss.SSS");
+    Date date = null;
+    for (int i = 1; i <= 14; i++) {
+      try {
+        date = sdf.parse("08:" + (5 * i + random.nextInt(2)) + ":" + (random.nextInt(2)) + "." + random.nextInt(1000));
+      } catch (ParseException e) {
+        e.printStackTrace();
+      }
+      xData.add(date);
+      yData.add(Math.random() * i);
+    }
+
+    // Customize Chart
+    chart.setChartTitle("DateChart03");
+    chart.getStyleManager().setLegendVisible(false);
+    Series series = chart.addDateSeries("value", xData, yData);
+    System.out.println(Arrays.toString(xData.toArray()));
+
+    return chart;
+
+  }
+}
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/DateAxisTickCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/DateAxisTickCalculator.java
index 58ef283609180d6da4a5b42a196d1025a96848c1..cbb1c5900c30d2bea846a666b25e23ce36f52548 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/DateAxisTickCalculator.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/axistickcalculator/DateAxisTickCalculator.java
@@ -37,13 +37,13 @@ import com.xeiam.xchart.style.StyleManager;
  */
 public class DateAxisTickCalculator extends AxisTickCalculator {
 
-  public static final long SEC_SCALE = TimeUnit.SECONDS.toMillis(1L);
-  public static final long MIN_SCALE = TimeUnit.MINUTES.toMillis(1L);
-  public static final long HOUR_SCALE = TimeUnit.HOURS.toMillis(1L);
-  public static final long DAY_SCALE = TimeUnit.DAYS.toMillis(1L);
-  public static final long WEEK_SCALE = TimeUnit.DAYS.toMillis(1L) * 7;
-  public static final long MONTH_SCALE = TimeUnit.DAYS.toMillis(1L) * 31;
-  public static final long YEAR_SCALE = TimeUnit.DAYS.toMillis(1L) * 365;
+  public static final long SEC_SCALE = TimeUnit.SECONDS.toMillis(2L);
+  public static final long MIN_SCALE = TimeUnit.MINUTES.toMillis(2L);
+  public static final long HOUR_SCALE = TimeUnit.HOURS.toMillis(2L);
+  public static final long DAY_SCALE = TimeUnit.DAYS.toMillis(2L);
+  public static final long WEEK_SCALE = TimeUnit.DAYS.toMillis(2L) * 7;
+  public static final long MONTH_SCALE = TimeUnit.DAYS.toMillis(2L) * 31;
+  public static final long YEAR_SCALE = TimeUnit.DAYS.toMillis(2L) * 365;
 
   /**
    * Constructor
@@ -146,7 +146,7 @@ public class DateAxisTickCalculator extends AxisTickCalculator {
     long diff = max.subtract(min).longValue();
 
     if (diff < SEC_SCALE) {
-      datePattern = "ss:S";
+      datePattern = "ss.SSS";
     } else if (diff < MIN_SCALE) {
       datePattern = "mm:ss";
     } else if (diff < HOUR_SCALE) {