如何在提醒中操纵日期格式

时间:2011-10-12 06:35:08

标签: windows-phone-7

提醒日期是美国格式(mm / dd / yyyy)默认情况下我猜。如何操作提醒集合并将日期格式化为英国格式,以便listBox将显示如下提醒:

开始日期(英文格式或非美国格式)
内容


MyReminders = ScheduledActionService.GetActions()
                .Where(a => a.BeginTime.Date == Today);

 foreach (Reminder r in MyReminders)
{
 // How to change the date format to British  in each of the reminder and display 
    in the listBox?

}

   ReminderListBox.ItemsSource = MyReminders;


In the list Box :



<ListBox Name="ReminderListBox" Margin="1,116,-2,4" >
   <ListBox.ItemTemplate>
      <DataTemplate>
        <Grid Background="Transparent" Margin="0,0,0,30">   

         <StackPanel Orientation="Horizontal" >                                       

         <TextBlock Text="begin "/>
         <TextBlock Text="{Binding BeginTime}" HorizontalAlignment="Right"/>
          </StackPanel>

               </Grid>
         </DataTemplate/>
    </ListBox.ItemTemplate/>
 </ListBox />              



问题:我不想在列表框中设置日期格式。我想动态检测语言环境,并根据检测到的区域设置显示日期格式,以及Jpn,Kor,中国的非美国格式

1 个答案:

答案 0 :(得分:1)

您的列表框模板是什么样的?你应该能够使用格式说明符“d”(短日期)或“D”(长日期)选择文化的“正确”日期格式......我希望你成为能够从XAML做到这一点,而不是改变其他任何东西。

请注意,DateTime本身并非具有格式 - 因此您不能将该值设置为“in”UK格式。

编辑:我想你想要:

{Binding BeginTime, StringFormat=d}

或者如果你想强制一种特定的格式(我不推荐)

{Binding BeginTime, StringFormat=dd/MM/yyyy}