如果鍵入蹊蹺DateString在數學
DateString[{2011, 2, 29, 0, 0, 0}, {"DayName"}]
它給"Tuesday"
。
而且也
DateString[{2011, 2, 29, 0, 0, 0}, {"DayName"}]
DateString[{2011, 3, 1, 0, 0, 0}, {"DayName"}]
如果鍵入蹊蹺DateString在數學
DateString[{2011, 2, 29, 0, 0, 0}, {"DayName"}]
它給"Tuesday"
。
而且也
DateString[{2011, 2, 29, 0, 0, 0}, {"DayName"}]
DateString[{2011, 3, 1, 0, 0, 0}, {"DayName"}]
Needs["Calendar`"];
myDay[x_List] := DateString[x, {"DayName"}] /; DateQ[x]
myDay[{2000, 1, 1}]
->"Saturday"
myDay[{2000, 13, 13}]
->myDay[{2000, 13, 13}]
當然,你可能會拋出消息(或中止[],或者別的什麼),如果你想:
Needs["Calendar`"];
[email protected];
myDay[x_] /; If[DateQ[x], True, Message[myDay::nodate, x]; False] :=
DateString[x, {"DayName"}]
myDay::nodate = "The argument `1` is not a valid date.";
這看起來對我來說,正確的行爲。 DateString
的文檔說:「m,d,h,m,s在正常範圍之外的值可以適當減小。」這就是發生的事情:今年二月二十九日並不是真的,但如果有的話,實際上是三月一號的那一天,實際上是星期二。
我寧願有一些例外拋出,而不是讓這個誤導'」星期二「回答!我怎樣才能寫我自己的包裝版本的DateString來實現這一目標?非常感謝。 – 2011-03-15 02:09:25
該文檔還給出了[示例](http://reference.wolfram.com/mathematica/ref/DateString.html#47250627)DateString [{2006,2,3}]'=>'2006年3月3日星期五:00:00'。 – WReach 2011-03-15 02:19:15
您可以將一個日期列表提供給'DateList'函數,該函數將「將日期列表轉換爲標準規範化形式」。所以如果這樣做的話日期清單是完好無損的。如果情況並非如此,你可以拋出異常。 – 2011-03-15 03:00:48