--- /usr/local/zope/Zope-2.6.1/DateTime/DateTime.py	Thu Jan 16 17:53:19 2003
+++ DateTime.py	Sat Jun  7 04:12:22 2003
@@ -12,7 +12,10 @@
 ##############################################################################
 """Encapsulation of date/time values"""
 
-__version__='$Revision: 1.79.6.6 $'[11:-2]
+__version__='$Revision: 1.79.6.6.local1 $'[11:-2]
+#added patch similiar to 
+# http://cvs.zope.org/Zope/lib/python/DateTime/DateTime.py.diff?r1=1.82&r2=1.82.8.1
+# by andreasjung
 
 
 import re,sys, os, math,  DateTimeZone
@@ -455,7 +458,7 @@
     __roles__=None
     __allow_access_to_unprotected_subobjects__=1
 
-    def __init__(self,*args):
+    def __init__(self,*args,**kw):
         """Return a new date-time object
 
         A DateTime object always maintains its value as an absolute
@@ -612,10 +615,15 @@
         timezones recognized by the DateTime module. Recognition of
         timezone names is case-insensitive.""" #'
 
+        datefmt = kw.get('datefmt', 'us')
+        assert datefmt in ('us', 'international')
+
         d=t=s=None
         ac=len(args)
         millisecs = None
 
+
+
         if ac and args[0]==None: return
         elif ac==10:
             # Internal format called only by DateTime
@@ -655,7 +663,7 @@
                 if arg.find(' ')==-1 and arg[4]=='-':
                     yr,mo,dy,hr,mn,sc,tz=self._parse_iso8601(arg)
                 else:
-                    yr,mo,dy,hr,mn,sc,tz=self._parse(arg)
+                    yr,mo,dy,hr,mn,sc,tz=self._parse(arg,datefmt)
 
 
                 if not self._validDate(yr,mo,dy):
@@ -859,7 +867,7 @@
         tz = self.localZone(ltm)
         return tz
 
-    def _parse(self,st):
+    def _parse(self,st,datefmt="us"):
         # Parse date-time components from a string
         month=year=tz=tm=None
         spaces        =self.space_chars
@@ -986,8 +994,12 @@
                     day=ints[0]
                     month=ints[1]
                 else:
-                    day=ints[1]
-                    month=ints[0]
+                    if datefmt=="us":
+                        day=ints[1]
+                        month=ints[0]
+                    else:
+                        day=ints[0]
+                        month=ints[1]
             elif ints[0] <= 12:
                 month=ints[0]
                 day=ints[1]
