diff --git a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart02.java b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart02.java
index 361b6428b4b205dee67e24f939305627db97b1b3..aa3d5c3bdb9d65d4b57816aad7a7e86957ac0496 100644
--- a/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart02.java
+++ b/xchart-demo/src/main/java/com/xeiam/xchart/demo/charts/bar/BarChart02.java
@@ -78,6 +78,7 @@ public class BarChart02 implements ExampleChart {
     series.setLineColor(SeriesColor.RED);
     chart.getStyleManager().setPlotGridLinesVisible(false);
     chart.getStyleManager().setBarFilled(false);
+    chart.getStyleManager().setDatePattern("YYYY");
 
     return chart;
   }
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickBarChartCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickBarChartCalculator.java
index 0c71b058775352225a3238e23e4aec412b648265..fcad0c312c87e736055105de4c4d2476c386abee 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickBarChartCalculator.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickBarChartCalculator.java
@@ -16,6 +16,8 @@
 package com.xeiam.xchart.internal.chartpart;
 
 import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 
 import com.xeiam.xchart.Series;
@@ -70,7 +72,18 @@ public class AxisTickBarChartCalculator extends AxisTickCalculator {
     double firstPosition = gridStep / 2.0;
 
     // set up String formatters that may be encountered
-    NumberFormatter numberFormatter = new NumberFormatter(styleManager);
+    NumberFormatter numberFormatter = null;
+    SimpleDateFormat simpleDateformat = null;
+    if (chartPainter.getAxisPair().getXAxis().getAxisType() == AxisType.Number) {
+      numberFormatter = new NumberFormatter(styleManager);
+    }
+    else if (chartPainter.getAxisPair().getXAxis().getAxisType() == AxisType.Date) {
+      if (styleManager.getDatePattern() == null) {
+        throw new RuntimeException("You need to set the Date Formatting Pattern!!!");
+      }
+      simpleDateformat = new SimpleDateFormat(styleManager.getDatePattern(), styleManager.getLocale());
+      simpleDateformat.setTimeZone(styleManager.getTimezone());
+    }
 
     int counter = 0;
 
@@ -80,9 +93,13 @@ public class AxisTickBarChartCalculator extends AxisTickCalculator {
         double tickLabelPosition = margin + firstPosition + gridStep * counter++;
         tickLocations.add(tickLabelPosition);
       }
-      else {
+      else if (chartPainter.getAxisPair().getXAxis().getAxisType() == AxisType.Number) {
         tickLabels.add(numberFormatter.formatNumber(new BigDecimal(category.toString()), minValue, maxValue, axisDirection));
       }
+      else if (chartPainter.getAxisPair().getXAxis().getAxisType() == AxisType.Date) {
+
+        tickLabels.add(simpleDateformat.format((((Date) category).getTime())));
+      }
       double tickLabelPosition = (int) (margin + firstPosition + gridStep * counter++);
       tickLocations.add(tickLabelPosition);
     }
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickDateCalculator.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickDateCalculator.java
index 8ef429ab2318db3167e0dd284c66e10d2e7f0ce0..5b77b80aacc7ceede1ad93ad8ca2032acc792d82 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickDateCalculator.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTickDateCalculator.java
@@ -192,7 +192,7 @@ public class AxisTickDateCalculator extends AxisTickCalculator {
 
       SimpleDateFormat simpleDateformat = new SimpleDateFormat(datePattern, styleManager.getLocale());
       simpleDateformat.setTimeZone(styleManager.getTimezone());
-      simpleDateformat.applyPattern(datePattern);
+      // simpleDateformat.applyPattern(datePattern);
 
       // return simpleDateformat.format(value);