What is the difference between ls -a and ls -A ?

commandline session

$who
jeffrin  tty7         2014-03-30 00:04 (:0)
jeffrin  pts/0        2014-03-30 00:06 (:0)
$'who'
jeffrin  tty7         2014-03-30 00:04 (:0)
jeffrin  pts/0        2014-03-30 00:06 (:0)
$`who`
bash: jeffrin: command not found
$ls -a > a.txt
$ls -A > A.txt
$diff a.txt  A.txt 
1,2d0
< .
 A.txt
$cmp a.txt A.txt 
a.txt A.txt differ: byte 1, line 1
$diff -u a.txt  A.txt 
--- a.txt	2014-03-30 00:13:17.268486656 +0530
+++ A.txt	2014-03-30 00:13:27.764559759 +0530
@@ -1,5 +1,3 @@
-.
-..
 1
 ahiliation.github.io
 a.out
@@ -7,6 +5,7 @@
 apache2_2.4.7-1_amd64.deb
 .aptitude
 a.txt
+A.txt
 .bash_history
 .bash_logout
 .bash_profile
$