[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Private/DateTimeForma
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Private/DateTimeFormat DateTimeFormatter.cs, 1.4, 1.5 |
Date: |
Thu, 24 Jul 2003 02:11:31 -0400 |
Update of /cvsroot/dotgnu-pnet/pnetlib/runtime/System/Private/DateTimeFormat
In directory subversions:/tmp/cvs-serv3847/runtime/System/Private/DateTimeFormat
Modified Files:
DateTimeFormatter.cs
Log Message:
Implement the remaining TODO methods in "System.DateTime".
Index: DateTimeFormatter.cs
===================================================================
RCS file:
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Private/DateTimeFormat/DateTimeFormatter.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** DateTimeFormatter.cs 3 Jun 2003 04:49:40 -0000 1.4
--- DateTimeFormatter.cs 24 Jul 2003 06:11:29 -0000 1.5
***************
*** 28,106 ****
internal sealed class DateTimeFormatter
{
! // Format a date value as a string.
public static String Format(DateTime date, String format,
! IFormatProvider
provider)
{
- DateTimeFormatInfo info;
-
- // Get the date/time formatting information to
use.
- info = DateTimeFormatInfo.GetInstance(provider);
-
- // Validate the format string.
- if(format == null || format == String.Empty)
- {
- format = "G";
- }
- if(format.Length == 1)
- {
- // Resolve the format code to a custom
format string.
- switch(format)
- {
- case "d": format =
info.ShortDatePattern; break;
- case "D": format =
info.LongDatePattern; break;
- case "f":
- format =
info.LongDatePattern + " " +
-
info.ShortTimePattern;
- break;
- case "F": format =
info.FullDateTimePattern; break;
- case "g":
- format =
info.ShortDatePattern + " " +
-
info.ShortTimePattern;
- break;
- case "G":
- format =
info.ShortDatePattern + " " +
-
info.LongTimePattern;
- break;
- case "m": case "M":
- format =
info.MonthDayPattern; break;
- #if !ECMA_COMPAT
- case "r": case "R":
- format =
info.RFC1123Pattern; break;
- case "s":
- format =
info.SortableDateTimePattern; break;
- case "u":
- format =
info.UniversalSortableDateTimePattern;
- break;
- #else
- case "r": case "R":
- format = "ddd, dd MMM
yyyy HH':'mm':'ss 'GMT'";
- break;
- case "s":
- format =
"yyyy'-'MM'-'dd'T'HH':'mm':'ss";
- break;
- case "u":
- format =
"yyyy'-'MM'-'dd HH':'mm':'ss'Z'";
- break;
- #endif
- case "t":
- format =
info.ShortTimePattern; break;
- case "T":
- format =
info.LongTimePattern; break;
- case "U":
- date =
date.ToUniversalTime();
- format =
info.FullDateTimePattern;
- break;
- case "y": case "Y":
- format =
info.YearMonthPattern; break;
-
- default:
- {
- throw new
FormatException
-
(_("Format_FormatString"));
- }
- // Not reached.
- }
- }
-
// Format the date/time value.
StringBuilder builder = new StringBuilder();
--- 28,35 ----
internal sealed class DateTimeFormatter
{
! // Format a date value as a string using a particular pattern format.
public static String Format(DateTime date, String format,
!
DateTimeFormatInfo info)
{
// Format the date/time value.
StringBuilder builder = new StringBuilder();
***************
*** 512,515 ****
--- 441,521 ----
// Return the formatted string to the caller.
return builder.ToString();
+ }
+
+ // Format a date value as a string.
+ public static String Format(DateTime date, String format,
+ IFormatProvider
provider)
+ {
+ DateTimeFormatInfo info;
+
+ // Get the date/time formatting information to
use.
+ info = DateTimeFormatInfo.GetInstance(provider);
+
+ // Validate the format string.
+ if(format == null || format == String.Empty)
+ {
+ format = "G";
+ }
+ if(format.Length == 1)
+ {
+ // Resolve the format code to a custom
format string.
+ switch(format)
+ {
+ case "d": format =
info.ShortDatePattern; break;
+ case "D": format =
info.LongDatePattern; break;
+ case "f":
+ format =
info.LongDatePattern + " " +
+
info.ShortTimePattern;
+ break;
+ case "F": format =
info.FullDateTimePattern; break;
+ case "g":
+ format =
info.ShortDatePattern + " " +
+
info.ShortTimePattern;
+ break;
+ case "G":
+ format =
info.ShortDatePattern + " " +
+
info.LongTimePattern;
+ break;
+ case "m": case "M":
+ format =
info.MonthDayPattern; break;
+ #if !ECMA_COMPAT
+ case "r": case "R":
+ format =
info.RFC1123Pattern; break;
+ case "s":
+ format =
info.SortableDateTimePattern; break;
+ case "u":
+ format =
info.UniversalSortableDateTimePattern;
+ break;
+ #else
+ case "r": case "R":
+ format = "ddd, dd MMM
yyyy HH':'mm':'ss 'GMT'";
+ break;
+ case "s":
+ format =
"yyyy'-'MM'-'dd'T'HH':'mm':'ss";
+ break;
+ case "u":
+ format =
"yyyy'-'MM'-'dd HH':'mm':'ss'Z'";
+ break;
+ #endif
+ case "t":
+ format =
info.ShortTimePattern; break;
+ case "T":
+ format =
info.LongTimePattern; break;
+ case "U":
+ date =
date.ToUniversalTime();
+ format =
info.FullDateTimePattern;
+ break;
+ case "y": case "Y":
+ format =
info.YearMonthPattern; break;
+
+ default:
+ {
+ throw new
FormatException
+
(_("Format_FormatString"));
+ }
+ // Not reached.
+ }
+ }
+ return Format(date, format, info);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Private/DateTimeFormat DateTimeFormatter.cs, 1.4, 1.5,
Rhys Weatherley <address@hidden> <=