我试图让单(Debian的2.10.8.1-5)在我与raspbian发行(“的Debian GNU / Linux的喘息/ SID”)树莓派正常运行。 我已经安装了单用apt-get安装单完成。
但是,我遇到了,我想不出一个有趣的问题。 的则DateTime.ToString()方法返回一个无效的字符串。
下面你可以找到我的控制台输出示例程序:
using System;
namespace MonoTest
{
class Program
{
static void Main(string[] args)
{
DateTime now = DateTime.Now;
Console.WriteLine("Year: " + now.Year);
Console.WriteLine("Month: " + now.Month);
Console.WriteLine("Day: " + now.Day);
Console.WriteLine("DayOfWeek: " + now.DayOfWeek);
Console.WriteLine("DateTime.Now: " + DateTime.Now);
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd"));
}
}
}
输出:
pi@raspberrypi ~/bin $ mono MonoTest.exe
Year: 2012
Month: 8
Day: 3
DayOfWeek: Friday
DateTime.Now: 00/734718/0001 01:41:38
0001-00-734718
有趣的是,734718好像是因为经过01/01/0001直到今天天数。 我有一个新的安装tryed它在第二板,但具有相同的问题。
有没有人有一个想法是什么这里的问题是,如何说服则DateTime.ToString()返回正确的价值?
更新(2012/8/4):通过单声道源码长挖后,我能够追踪问题重新回到System.Math.Floor。 显然,它总是返回0。我改变了我的测试程序,以一个简单的:
static void Main(string[] args)
{
Console.WriteLine("Floor(1.5): " + System.Math.Floor(1.5));
}
在Windows上,结果是“楼(1.5):1”,而在对树莓派我单设置是“地板(1.5):0”。 我已经看到System.Math.Floor作为实施
[MethodImplAttribute (MethodImplOptions.InternalCall)]
public extern static double Floor (double d);
明天,我将进一步研究这个问题。 没有人知道为什么这个问题会存在吗?