Metro style App Datetime formating.

简介:

Key Code:

1. Long and short Format

private  void  Display_Click( object  sender, RoutedEventArgs e)
{
     // We keep results in this variable
     StringBuilder results = new  StringBuilder();
 
     // Create basic date/time formatters.
     DateTimeFormatter[] basicFormatters = new []
     {
         // Default date formatters
         new  DateTimeFormatter( "shortdate" ),
         new  DateTimeFormatter( "longdate" ),
 
         // Default time formatters
         new  DateTimeFormatter( "shorttime" ),
         new  DateTimeFormatter( "longtime" ),
      };
 
     // Create date/time to format and display.
     DateTime dateTime = DateTime.Now;
 
     // Try to format and display date/time if calendar supports it.
     foreach  (DateTimeFormatter formatter in  basicFormatters)
     {
         // Format and display date/time.
         results.AppendLine(formatter.Template + ": "  + formatter.Format(dateTime));
     }
}

 

 

2. Use different parameters.

private  void  Display_Click2( object  sender, RoutedEventArgs e)
{
     // This scenario uses the Windows.Globalization.DateTimeFormatting.DateTimeFormatter class
     // to format a date/time by specifying a template via parameters.
 
     // We keep results in this variable
     StringBuilder results = new  StringBuilder();
 
     // Create formatters with individual format specifiers for date/time elements.
     DateTimeFormatter[] templateFormatters = new []
     {
         // Example formatters for dates.
         new  DateTimeFormatter(
             YearFormat.Full,
             MonthFormat.Abbreviated,
             DayFormat.Default,
             DayOfWeekFormat.Abbreviated),
         new  DateTimeFormatter(
             YearFormat.Abbreviated,
             MonthFormat.Abbreviated,
             DayFormat.Default,
             DayOfWeekFormat.None),
         new  DateTimeFormatter(
             YearFormat.Full,
             MonthFormat.Full,
             DayFormat.None,
             DayOfWeekFormat.None),
         new  DateTimeFormatter(
             YearFormat.None,
             MonthFormat.Full,
             DayFormat.Default,
             DayOfWeekFormat.None),
 
         // Example formatters for times.
         new  DateTimeFormatter(
             HourFormat.Default,
             MinuteFormat.Default,
             SecondFormat.Default),
         new  DateTimeFormatter(
             HourFormat.Default,
             MinuteFormat.Default,
             SecondFormat.None),
         new  DateTimeFormatter(
             HourFormat.Default,
             MinuteFormat.None,
             SecondFormat.None),
      };
 
     // Create date/time to format and display.
     DateTime dateTime = DateTime.Now;
 
     // Try to format and display date/time if calendar supports it.
     foreach  (DateTimeFormatter formatter in  templateFormatters)
     {
         // Format and display date/time.
         results.AppendLine(formatter.Template + ": "  + formatter.Format(dateTime));
     }
}

 

3. use String Template

private  void  Display_Click3( object  sender, RoutedEventArgs e)
{
     // We keep results in this variable
     StringBuilder results = new  StringBuilder();
 
     // Create template-based date/time formatters.
     DateTimeFormatter[] templateFormatters = new []
     {
         // Formatters for dates.
         new  DateTimeFormatter( "day month" ),
         new  DateTimeFormatter( "month year" ),
         new  DateTimeFormatter( "day month year" ),
         new  DateTimeFormatter( "dayofweek day month year" ),
         new  DateTimeFormatter( "dayofweek.abbreviated" ),
         new  DateTimeFormatter( "month.abbreviated" ),
         new  DateTimeFormatter( "year.abbreviated" ),
 
         // Formatters for time.
         new  DateTimeFormatter( "hour" ),
         new  DateTimeFormatter( "hour minute" ),
         new  DateTimeFormatter( "hour minute second" ),
      };
 
 
     // Create date/time to format and display.
     DateTime dateTime = DateTime.Now;
 
     // Try to format and display date/time if calendar supports it.
     foreach  (DateTimeFormatter formatter in  templateFormatters)
     {
         // Format and display date/time.
         results.AppendLine(formatter.Template + ": "  + formatter.Format(dateTime));
     }
}

 

 

 

 C++ code

1 Long and short format

void  App2::MainPage::Button_Click_1(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
     Array<DateTimeFormatter^> ^dateFormatters = {
         ref  new  DateTimeFormatter( "shortdate" ),
         ref  new  DateTimeFormatter( "longdate" ),
         ref  new  DateTimeFormatter( "longtime" )
     };
 
     Windows::Globalization::Calendar^ cal = ref  new  Windows::Globalization::Calendar();
     Windows::Foundation::DateTime dateToFormat = cal->GetDateTime();
 
     String^ results = "" ;
 
     for  (unsigned int  i = 0; i < dateFormatters->Length; i++)
     {
         results = results + dateFormatters[i]->Template + ": "  + dateFormatters[i]->Format(dateToFormat) + "\n" ;
     }
}

 

 

2. Use different parameter

void  App2::MainPage::Button_Click_2(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
     Array<DateTimeFormatter^> ^dateFormatters = {
         ref  new  DateTimeFormatter(
             YearFormat::Full,
             MonthFormat::Abbreviated,
             DayFormat::Default,
             DayOfWeekFormat::Abbreviated),
 
         ref  new  DateTimeFormatter(
             YearFormat::Abbreviated,
             MonthFormat::Abbreviated,
             DayFormat::Default,
             DayOfWeekFormat::None),
 
         ref  new  DateTimeFormatter(
             YearFormat::Full,
             MonthFormat::Full,
             DayFormat::None,
             DayOfWeekFormat::None),
 
         ref  new  DateTimeFormatter(
             YearFormat::None,
             MonthFormat::Full,
             DayFormat::Default,
             DayOfWeekFormat::None),
 
         ref  new  DateTimeFormatter(
             HourFormat::Default,
             MinuteFormat::Default,
             SecondFormat::Default),
 
         ref  new  DateTimeFormatter(
             HourFormat::Default,
             MinuteFormat::Default,
             SecondFormat::None),
 
         ref  new  DateTimeFormatter(
             HourFormat::Default,
             MinuteFormat::None,
             SecondFormat::None)
     };
 
     // Obtain the date that will be formatted.
     Windows::Globalization::Calendar^ cal = ref  new  Windows::Globalization::Calendar();
     Windows::Foundation::DateTime dateToFormat = cal->GetDateTime();
     
     // Keep the results here
     String^ results = "" ;
 
     // Generate the results.
     for  (unsigned int  i = 0; i < dateFormatters->Length; i++)
     {
         // Perform the actual formatting.
         results = results + dateFormatters[i]->Template + ": "  + dateFormatters[i]->Format(dateToFormat) + "\n" ;
     }
}

 

 

3.Use String Template

void  App2::MainPage::Button_Click_3(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
     Array<DateTimeFormatter^> ^dateFormatters = {
         ref  new  DateTimeFormatter( "month day" ),
         ref  new  DateTimeFormatter( "month year" ),
         ref  new  DateTimeFormatter( "month day year" ),
         ref  new  DateTimeFormatter( "month day dayofweek year" ),
         ref  new  DateTimeFormatter( "dayofweek.abbreviated" ),
         ref  new  DateTimeFormatter( "month.abbreviated" ),
         ref  new  DateTimeFormatter( "year.abbreviated" ),
         ref  new  DateTimeFormatter( "hour minute" ),
         ref  new  DateTimeFormatter( "hour minute second" ),
         ref  new  DateTimeFormatter( "hour" )
     };
 
     // Obtain the date that will be formatted.
     Windows::Globalization::Calendar^ cal = ref  new  Windows::Globalization::Calendar();
     Windows::Foundation::DateTime dateToFormat = cal->GetDateTime();
 
     // Keep the results here
     String^ results = "" ;
 
     // Generate the results.
     for  (unsigned int  i = 0; i < dateFormatters->Length; i++)
     {
         results = results + dateFormatters[i]->Template + ": "  + dateFormatters[i]->Format(dateToFormat) + "\n" ;
     }
 
}

 

 

From Metro style app samples.

 

 

 

 

  

 


本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2012/07/26/2610594.html,如需转载请自行联系原作者

目录
相关文章

热门文章

最新文章