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,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值