DateTime.Now.Tostring() - 奇怪的结果

时间:2013-06-04 20:13:37

标签: c# datetime mono raspberry-pi raspbian

我在Raspberry Pi上使用Mono(运行Raspbmc)。大多数事情(令人惊讶!)只是工作,但有一段代码表现得很奇怪。

使用csharp C#“shell”,我得到了这个(编译对应的结果相同):

csharp> DateTime.Now.ToString();
"00/735023/0001 23:05:56"

csharp> DateTime.Now.ToString("dd"); //get day numeral
"735023"

csharp> DateTime.Now.ToString("MMMM"); //get month name
System.ArgumentOutOfRangeException: Argument is out of range.
  at System.Globalization.DateTimeFormatInfo.GetMonthName (Int32 month) 
  [...]

...但是,访问单独的属性有效:

csharp> DateTime.Now.Day.ToString();
"4"

csharp> DateTime.Now.Month.ToString();
"6"

csharp> DateTime.Now.Year.ToString();
"2013"

知道发生了什么,或者至少我应该提交错误的地方?

FWIW:这就是我正在运行的

pi@raspbmc:~$ mono -V
Mono JIT compiler version 2.10.8.1 (Debian 2.10.8.1-5)
Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       normal
        Notifications: epoll
        Architecture:  armel,vfp
        Disabled:      none
        Misc:          softdebug
        LLVM:          supported, not enabled.
        GC:            Included Boehm (with typed GC and Parallel Mark)

1 个答案:

答案 0 :(得分:2)

报告了相关的错误:https://bugzilla.xamarin.com/show_bug.cgi?id=7938。原因:使用hardfp而不是与Mono 2.10不兼容的softfp浮点ABI。有一些补丁来支持Mono中的hardfp,但还没有主线。