Index: pyyaml/trunk/lib/yaml/constructor.py
===================================================================
--- pyyaml/trunk/lib/yaml/constructor.py	(revision 225)
+++ pyyaml/trunk/lib/yaml/constructor.py	(revision 234)
@@ -301,5 +301,5 @@
                 :(?P<minute>[0-9][0-9])
                 :(?P<second>[0-9][0-9])
-                (?:(?P<fraction>\.[0-9]*))?
+                (?:\.(?P<fraction>[0-9]*))?
                 (?:[ \t]*(?P<tz>Z|(?P<tz_sign>[-+])(?P<tz_hour>[0-9][0-9]?)
                 (?::(?P<tz_minute>[0-9][0-9]))?))?)?$''', re.X)
@@ -319,5 +319,5 @@
         fraction = 0
         if values['fraction']:
-            fraction = int(float(values['fraction'])*1000000)
+            fraction = int(values['fraction'][:6].ljust(6, '0'))
         delta = None
         if values['tz_sign']:
