Fix issue #1551
diff --git a/system/helpers/date_helper.php b/system/helpers/date_helper.php
index fc790c5..9637e26 100644
--- a/system/helpers/date_helper.php
+++ b/system/helpers/date_helper.php
@@ -124,16 +124,16 @@
 	function standard_date($fmt = 'DATE_RFC822', $time = '')
 	{
 		$formats = array(
-				'DATE_ATOM'		=>	'%Y-%m-%dT%H:%i:%s%O',
+				'DATE_ATOM'		=>	'%Y-%m-%dT%H:%i:%s%P',
 				'DATE_COOKIE'	=>	'%l, %d-%M-%y %H:%i:%s UTC',
-				'DATE_ISO8601'	=>	'%Y-%m-%dT%H:%i:%s%O',
+				'DATE_ISO8601'	=>	'%Y-%m-%dT%H:%i:%s%P',
 				'DATE_RFC822'	=>	'%D, %d %M %y %H:%i:%s %O',
 				'DATE_RFC850'	=>	'%l, %d-%M-%y %H:%i:%s UTC',
 				'DATE_RFC1036'	=>	'%D, %d %M %y %H:%i:%s %O',
 				'DATE_RFC1123'	=>	'%D, %d %M %Y %H:%i:%s %O',
-				'DATE_RFC2822'	=>	'%D, %d %M %Y %H:%i:%s %O',
+				'DATE_RFC2822'	=>	'%r',
 				'DATE_RSS'		=>	'%D, %d %M %Y %H:%i:%s %O',
-				'DATE_W3C'		=>	'%Y-%m-%dT%H:%i:%s%O'
+				'DATE_W3C'		=>	'%Y-%m-%dT%H:%i:%s%P'
 				);
 
 		return isset($formats[$fmt]) ? mdate($formats[$fmt], $time) : FALSE;
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index 5f38b58..4dc6c3f 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -300,6 +300,7 @@
 -  Fixed a bug (#79) - :doc:`Form Validation Library <libraries/form_validation>` didn't properly validate array fields that use associative keys or have custom indexes.
 -  Fixed a bug (#427) - :doc:`Form Validation Library <libraries/form_validation>` method ``strip_image_tags()`` was an alias to a non-existent method.
 -  Fixed a bug (#1545) - :doc:`Query Builder <database/query_builder>` method ``limit()`` wasn't executed properly under Oracle.
+-  Fixed a bug (#1551) - :doc:`Date Helper <helpers/date_helper>` function ``standard_date()`` didn't properly format *W3C* and *ATOM* standard dates.
 
 Version 2.1.2
 =============