From: Oleg T. <he...@us...> - 2005-11-07 16:17:24
|
Update of /cvsroot/mvp-xml/EXSLT/v2/src/Exslt In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18680/v2/src/Exslt Modified Files: ExsltDatesAndTimes.cs Log Message: Index: ExsltDatesAndTimes.cs =================================================================== RCS file: /cvsroot/mvp-xml/EXSLT/v2/src/Exslt/ExsltDatesAndTimes.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- ExsltDatesAndTimes.cs 30 Oct 2005 13:50:54 -0000 1.3 +++ ExsltDatesAndTimes.cs 7 Nov 2005 16:17:13 -0000 1.4 @@ -299,7 +299,29 @@ { return new string[] {"yyyy-MM-dd\"T\"HH:mm:sszzz", "yyyy-MM-dd\"T\"HH:mm:ssZ", - "yyyy-MM-dd\"T\"HH:mm:ss"}; + "yyyy-MM-dd\"T\"HH:mm:ss", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ff", + "yyyy-MM-dd\"T\"HH:mm:ss.fzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fZ", + "yyyy-MM-dd\"T\"HH:mm:ss.f" +}; } } @@ -326,6 +348,27 @@ return new string[] {"yyyy-MM-dd\"T\"HH:mm:sszzz", "yyyy-MM-dd\"T\"HH:mm:ssZ", "yyyy-MM-dd\"T\"HH:mm:ss", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ff", + "yyyy-MM-dd\"T\"HH:mm:ss.fzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fZ", + "yyyy-MM-dd\"T\"HH:mm:ss.f", "yyyy-MM-ddzzz", "yyyy-MM-ddZ", "yyyy-MM-dd"}; @@ -353,6 +396,27 @@ return new string[] {"yyyy-MM-dd\"T\"HH:mm:sszzz", "yyyy-MM-dd\"T\"HH:mm:ssZ", "yyyy-MM-dd\"T\"HH:mm:ss", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ff", + "yyyy-MM-dd\"T\"HH:mm:ss.fzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fZ", + "yyyy-MM-dd\"T\"HH:mm:ss.f", "HH:mm:sszzz", "HH:mm:ssZ", "HH:mm:ss"}; @@ -381,6 +445,27 @@ return new string[] {"yyyy-MM-dd\"T\"HH:mm:sszzz", "yyyy-MM-dd\"T\"HH:mm:ssZ", "yyyy-MM-dd\"T\"HH:mm:ss", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ff", + "yyyy-MM-dd\"T\"HH:mm:ss.fzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fZ", + "yyyy-MM-dd\"T\"HH:mm:ss.f", "yyyy-MM-dd", "yyyy-MM"}; } @@ -408,6 +493,27 @@ return new string[] {"yyyy-MM-dd\"T\"HH:mm:sszzz", "yyyy-MM-dd\"T\"HH:mm:ssZ", "yyyy-MM-dd\"T\"HH:mm:ss", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ff", + "yyyy-MM-dd\"T\"HH:mm:ss.fzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fZ", + "yyyy-MM-dd\"T\"HH:mm:ss.f", "yyyy-MM-dd", "yyyy-MM", "yyyy"}; @@ -436,6 +542,27 @@ return new string[] {"yyyy-MM-dd\"T\"HH:mm:sszzz", "yyyy-MM-dd\"T\"HH:mm:ssZ", "yyyy-MM-dd\"T\"HH:mm:ss", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ff", + "yyyy-MM-dd\"T\"HH:mm:ss.fzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fZ", + "yyyy-MM-dd\"T\"HH:mm:ss.f", "yyyy-MM-dd", "yyyy-MM", "--MM--"}; @@ -464,6 +591,27 @@ return new string[] {"yyyy-MM-dd\"T\"HH:mm:sszzz", "yyyy-MM-dd\"T\"HH:mm:ssZ", "yyyy-MM-dd\"T\"HH:mm:ss", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ff", + "yyyy-MM-dd\"T\"HH:mm:ss.fzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fZ", + "yyyy-MM-dd\"T\"HH:mm:ss.f", "yyyy-MM-dd", "---dd", "--MM-dd"}; @@ -492,6 +640,27 @@ return new string[] {"yyyy-MM-dd\"T\"HH:mm:sszzz", "yyyy-MM-dd\"T\"HH:mm:ssZ", "yyyy-MM-dd\"T\"HH:mm:ss", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fffff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ffff", + "yyyy-MM-dd\"T\"HH:mm:ss.fffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.fff", + "yyyy-MM-dd\"T\"HH:mm:ss.ffzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.ffZ", + "yyyy-MM-dd\"T\"HH:mm:ss.ff", + "yyyy-MM-dd\"T\"HH:mm:ss.fzzz", + "yyyy-MM-dd\"T\"HH:mm:ss.fZ", + "yyyy-MM-dd\"T\"HH:mm:ss.f", "yyyy-MM-dd", "--MM-dd"}; } @@ -1552,10 +1721,10 @@ for (int i=0; i < format.Length;) { int s = i; - switch(format.Substring(i, 1)) + switch(format[i]) { - case "G":// era designator (Text) AD - while (i < format.Length && format.Substring(i, 1)=="G"){i++;} + case 'G':// era designator (Text) AD + while (i < format.Length && format[i]=='G'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || @@ -1573,8 +1742,8 @@ } break; - case "y":// year (Number) 1996 - while (i < format.Length && format.Substring(i, 1)=="y"){i++;} + case 'y':// year (Number) 1996 + while (i < format.Length && format[i]=='y'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(YearMonth)) || @@ -1591,8 +1760,8 @@ } } break; - case "M":// month in year (Text & Number) July & 07 - while (i < format.Length && format.Substring(i, 1)=="M"){i++;} + case 'M':// month in year (Text & Number) July & 07 + while (i < format.Length && format[i]=='M'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || @@ -1609,8 +1778,8 @@ retString.Append(monthName(oDate.d.Month)); } break; - case "d":// day in month (Number) 10 - while (i < format.Length && format.Substring(i, 1)=="d"){i++;} + case 'd':// day in month (Number) 10 + while (i < format.Length && format[i]=='d'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || @@ -1622,8 +1791,8 @@ retString.Append(oDate.d.Day.ToString().PadLeft(i-s, '0')); } break; - case "h":// hour in am/pm (1~12) (Number) 12 - while (i < format.Length && format.Substring(i, 1)=="h"){i++;} + case 'h':// hour in am/pm (1~12) (Number) 12 + while (i < format.Length && format[i]=='h'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(YearMonth)) || @@ -1636,8 +1805,8 @@ retString.Append(hour.ToString().PadLeft(i-s, '0')); } break; - case "H":// hour in day (0~23) (Number) 0 - while (i < format.Length && format.Substring(i, 1)=="H"){i++;} + case 'H':// hour in day (0~23) (Number) 0 + while (i < format.Length && format[i]=='H'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(YearMonth)) || @@ -1647,8 +1816,8 @@ retString.Append(oDate.d.Hour.ToString().PadLeft(i-s, '0')); } break; - case "m":// minute in hour (Number) 30 - while (i < format.Length && format.Substring(i, 1)=="m"){i++;} + case 'm':// minute in hour (Number) 30 + while (i < format.Length && format[i]=='m'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(YearMonth)) || @@ -1658,8 +1827,8 @@ retString.Append(oDate.d.Minute.ToString().PadLeft(i-s, '0')); } break; - case "s":// second in minute (Number) 55 - while (i < format.Length && format.Substring(i, 1)=="s"){i++;} + case 's':// second in minute (Number) 55 + while (i < format.Length && format[i]=='s'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(YearMonth)) || @@ -1669,12 +1838,19 @@ retString.Append(oDate.d.Second.ToString().PadLeft(i-s, '0')); } break; - case "S":// millisecond (Number) 978 - while (i < format.Length && format.Substring(i, 1)=="S"){i++;} - // Millisecond not supported as input, so why support as output? + case 'S':// millisecond (Number) 978 + while (i < format.Length && format[i]=='S'){i++;} + if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || + Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || + Object.ReferenceEquals(oDate.GetType(), typeof(YearMonth)) || + Object.ReferenceEquals(oDate.GetType(), typeof(TimeTZ)) || + Object.ReferenceEquals(oDate.GetType(), typeof(YearTZ))) + { + retString.Append(oDate.d.Millisecond.ToString().PadLeft(i-s, '0')); + } break; - case "E":// day in week (Text) Tuesday - while (i < format.Length && format.Substring(i, 1)=="E"){i++;} + case 'E':// day in week (Text) Tuesday + while (i < format.Length && format[i]=='E'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || @@ -1691,8 +1867,8 @@ } } break; - case "D":// day in year (Number) 189 - while (i < format.Length && format.Substring(i, 1)=="D"){i++;} + case 'D':// day in year (Number) 189 + while (i < format.Length && format[i]=='D'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(YearMonth)) || @@ -1701,8 +1877,8 @@ retString.Append(oDate.d.DayOfYear.ToString().PadLeft(i-s, '0')); } break; - case "F":// day of week in month (Number) 2 (2nd Wed in July) - while (i < format.Length && format.Substring(i, 1)=="F"){i++;} + case 'F':// day of week in month (Number) 2 (2nd Wed in July) + while (i < format.Length && format[i]=='F'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(YearMonth)) || @@ -1713,8 +1889,8 @@ retString.Append(dayOfWeekInMonth(oDate.d.Day).ToString().PadLeft(i-s, '0')); } break; - case "w":// week in year (Number) 27 - while (i < format.Length && format.Substring(i, 1)=="w"){i++;} + case 'w':// week in year (Number) 27 + while (i < format.Length && format[i]=='w'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(YearMonth)) || @@ -1723,8 +1899,8 @@ retString.Append(weekInYear(oDate.d)); } break; - case "W":// week in month (Number) 2 - while (i < format.Length && format.Substring(i, 1)=="W"){i++;} + case 'W':// week in month (Number) 2 + while (i < format.Length && format[i]=='W'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(YearMonth)) || @@ -1733,8 +1909,8 @@ retString.Append(weekInMonth(oDate.d)); } break; - case "a":// am/pm marker (Text) PM - while (i < format.Length && format.Substring(i, 1)=="a"){i++;} + case 'a':// am/pm marker (Text) PM + while (i < format.Length && format[i]=='a'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(YearMonth)) || @@ -1747,8 +1923,8 @@ retString.Append("PM"); } break; - case "k":// hour in day (1~24) (Number) 24 - while (i < format.Length && format.Substring(i, 1)=="k"){i++;} + case 'k':// hour in day (1~24) (Number) 24 + while (i < format.Length && format[i]=='k'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(YearMonth)) || @@ -1759,8 +1935,8 @@ retString.Append(hour.ToString().PadLeft(i-s, '0')); } break; - case "K":// hour in am/pm (0~11) (Number) 0 - while (i < format.Length && format.Substring(i, 1)=="K"){i++;} + case 'K':// hour in am/pm (0~11) (Number) 0 + while (i < format.Length && format[i]=='K'){i++;} if (Object.ReferenceEquals(oDate.GetType(), typeof(DateTimeTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(DateTZ)) || Object.ReferenceEquals(oDate.GetType(), typeof(YearMonth)) || @@ -1771,34 +1947,34 @@ retString.Append(hour.ToString().PadLeft(i-s, '0')); } break; - case "z":// time zone (Text) Pacific Standard Time - while (i < format.Length && format.Substring(i, 1)=="z"){i++;} + case 'z':// time zone (Text) Pacific Standard Time + while (i < format.Length && format[i]=='z'){i++;} // // BUGBUG: Need to convert to full timezone names or timezone abbrevs // if they are available. Now cheating by using GMT offsets. retString.Append(oDate.GetGMTOffsetTimeZone()); break; - case "Z":// rfc 822 time zone - while (i < format.Length && format.Substring(i, 1)=="Z"){i++;} + case 'Z':// rfc 822 time zone + while (i < format.Length && format[i]=='Z'){i++;} retString.Append(oDate.Get822TimeZone()); break; - case "'":// escape for text (Delimiter) - if (i < format.Length && format.Substring(i+1, 1) == "'") + case '\'':// escape for text (Delimiter) + if (i < format.Length && format[i+1] == '\'') { i++; - while (i < format.Length && format.Substring(i, 1)=="'"){i++;} + while (i < format.Length && format[i]=='\''){i++;} retString.Append("'"); } else { i++; - while (i < format.Length && format.Substring(i, 1)!="'" && i <= format.Length){retString.Append(format.Substring(i++, 1));} + while (i < format.Length && format[i]!='\'' && i <= format.Length){retString.Append(format.Substring(i++, 1));} if (i >= format.Length)return ""; i++; } break; default: - retString.Append(format.Substring(i, 1)); + retString.Append(format[i]); i++; break; } @@ -1935,7 +2111,7 @@ else { // Simulate casting to the most truncated format. i.e. if one - // arg is DateTZ and the other is DateTimeTZ, get rid of the time + // Arg is DateTZ and the other is DateTimeTZ, get rid of the time // for both. if (Object.ReferenceEquals(startdate.GetType(), typeof(DateTZ)) || Object.ReferenceEquals(enddate.GetType(), typeof(DateTZ))) |