diff --git a/files/ajax/timezone.php b/files/ajax/timezone.php
new file mode 100644
index 0000000000000000000000000000000000000000..93d06611a0d977fb830ad576feca1a0faaf632a7
--- /dev/null
+++ b/files/ajax/timezone.php
@@ -0,0 +1,4 @@
+<?php
+	session_start();
+	$_SESSION['timezone'] = $_GET['time'];
+?>
\ No newline at end of file
diff --git a/files/index.php b/files/index.php
index d796583a4ae0241b54d8d3e8d46a556378297c92..a163895131e005f054adf4ca83984961a07eecc3 100644
--- a/files/index.php
+++ b/files/index.php
@@ -37,6 +37,9 @@ OC_UTIL::addStyle( "files", "files" );
 OC_UTIL::addScript( "files", "files" );
 OC_UTIL::addScript( 'files', 'filelist' );
 OC_UTIL::addScript( 'files', 'fileactions' );
+if(!isset($_SESSION['timezone'])){
+	OC_UTIL::addScript( 'files', 'timezone' );
+}
 OC_APP::setActiveNavigationEntry( "files_index" );
 // Load the files
 $dir = isset( $_GET['dir'] ) ? $_GET['dir'] : '';
diff --git a/files/js/timezone.js b/files/js/timezone.js
new file mode 100644
index 0000000000000000000000000000000000000000..d569683f2109491fa5c16a0f124aeac26014d793
--- /dev/null
+++ b/files/js/timezone.js
@@ -0,0 +1,12 @@
+//send the clients time zone to the server
+$(document).ready(function() {
+	var visitortimezone = (-new Date().getTimezoneOffset()/60);
+	$.ajax({
+		type: "GET",
+		url: "ajax/timezone.php",
+		data: 'time='+ visitortimezone,
+		success: function(){
+			location.reload();
+		}
+	});
+});
\ No newline at end of file
diff --git a/lib/base.php b/lib/base.php
index c18ecd570db1bc4f7c0fac1d3606072a13a44c8b..a3ffb6b1a6fe0e43682c45dcc30756e9e96452fd 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -231,8 +231,15 @@ class OC_UTIL {
          * @param bool dateOnly option to ommit time from the result
          */
         public static function formatDate( $timestamp,$dateOnly=false){
-		$timeformat=$dateOnly?'F j, Y':'F j, Y, H:i';
-		return date($timeformat,$timestamp);
+			if(isset($_SESSION['timezone'])){//adjust to clients timezone if we know it
+				$systemTimeZone = intval(exec('date +%z'));
+				$systemTimeZone=(round($systemTimeZone/100,0)*60)+($systemTimeZone%100);
+				$clientTimeZone=$_SESSION['timezone']*60;
+				$offset=$clientTimeZone-$systemTimeZone;
+				$timestamp=$timestamp+$offset*60;
+			}
+			$timeformat=$dateOnly?'F j, Y':'F j, Y, H:i';
+			return date($timeformat,$timestamp);
         }
 
 	/**