我想使用 F# 显示当月的日历(类似于 Linux 命令 'cal' )。在 F# 中是否有本地方法?
问问题
498 次
1 回答
2
我认为没有任何标准功能可以将当前日历打印到控制台。但是,您可以轻松获得自行打印所需的信息:
open System
open System.Globalization
// Get information about calendar for the current cultural settings
let cal = CultureInfo.CurrentCulture.Calendar
let now = DateTime.Now
// Get days in month from the curretn calendar
for d in 1 .. cal.GetDaysInMonth(now.Year, now.Month) do
// Create date time and print the date together with a day of week
let dt = DateTime(now.Year, now.Month, d)
printfn "%s %A" (dt.ToShortDateString()) dt.DayOfWeek
您可以使用它dt.DayOfWeek
来很好地对齐输出,就像cal
在 Linux 上所做的那样。
或者,如果您有一些 UI,您可以使用DateTimePicker
Windows 窗体中的类型(请参阅MSDN)或 WPF 更好的Calendar
控件(请参阅MSDN)。WinForms 控件也可以在 F# 交互中工作:
open System.Windows.Forms
let frm = new Form(Visible=true)
frm.Controls.Add(new DateTimePicker())
于 2013-03-01T01:04:20.620 回答