可能重复:
如何获取下个月每一天的名称?
我需要在 currentMonth 从 DayNames 创建一个数组
DateTime dt = new DateTime();
dt = DateTime.Now;
string[] days = ( names of days); // this month should be: Sunday, Monday...
我该怎么做,请
可能重复:
如何获取下个月每一天的名称?
我需要在 currentMonth 从 DayNames 创建一个数组
DateTime dt = new DateTime();
dt = DateTime.Now;
string[] days = ( names of days); // this month should be: Sunday, Monday...
我该怎么做,请
获取当月所有日期名称的 LINQ 方式,以“Sunday”开头(en-us 中的 fe):
var now = DateTime.Now;
var culture = System.Globalization.CultureInfo.CurrentCulture;
String[] thisMonthDays =
Enumerable.Range(1, culture.Calendar.GetDaysInMonth(now.Year, now.Month))
.Select(day => new DateTime(now.Year, now.Month, day))
.Select(date => culture.DateTimeFormat.GetDayName(date.DayOfWeek))
.ToArray();
(因为我来自德国,所以列表以“Sonntag”开头)
您好,您可以查找 DayOfWeek 枚举http://msdn.microsoft.com/en-us/library/system.dayofweek.aspx
var arr = Enum.GetValues(typeof(DayOfWeek));
你可以做:
DateTime dt = DateTime.Now;
DateTime end_DateTime =
new DateTime(dt.Year, dt.Month, DateTime.DaysInMonth(dt.Year, dt.Month));
List<string> result = new List<string>();
for (DateTime dt1 = new DateTime(dt.Year, dt.Month, 1);
dt1 <= end_DateTime; dt1 = dt1.AddDays(1))
{
result.Add(dt1.DayOfWeek.ToString());
}
到底
string[] resultarr = result.ToArray();
这会给你
"Sunday", "Monday", "Tuesday" .... and so on for current month of July.
因为01/07/2012 (dd/MM/yyyy)
是星期天等等。
DateTime Base = new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(1).Month, 1);
int x = DateTime.DaysInMonth(Base.Year, Base.Month);
string[] daysOfMonth = new string[x];
int i = 0;
while (Base.Day != x)
{
daysOfMonth[i++] = Base.DayOfWeek.ToString();
Base = Base.AddDays(1);
}
从您之前的问题:如何获取下个月每一天的名称?
我认为你可以这样做
DateTime dt = new DateTime();
dt = DateTime.Now;
string[] days1 = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; // this month should be: Sunday, Monday...
希望对你有帮助 :-)
试试这个:
DateTime dt = new DateTime(year, month,...); // initialize to first day in month
List<string> days = new List<string>();
do
{
days.Add(dt.ToString("dddd"));
dt.AddDays(1);
} while (dt.Month == month);
从你的最后一个帖子
DateTime Base = new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(1).Month, 1);
List<String> Days = new List<String>();
int x = DateTime.DaysInMonth(Base.Year, Base.Month);
while (Base.Day != x)
{
Days.Add(Base.DayOfWeek.ToString());
Base = Base.AddDays(1);
}
然后使用
String[] StringArray = Days.ToArray();
如果您需要字符串数组而不是列表。
除非您真的需要一个数组,否则我只会保留列表原样,它可以以相同的方式使用,所以我看不出有充分的理由不必要地进行数组复制。
或者你可以这样做(正如 Habib.OSU 建议的那样):
DateTime Base = new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(1).Month, 1);
int x = DateTime.DaysInMonth(Base.Year, Base.Month);
String[] StringArray = new String[x];
while (Base.Day != x)
{
daysOfMonth[Base.Day - 1] = Base.DayOfWeek.ToString();
Base = Base.AddDays(1);
}
这很可能是两者中较快的一个。
星期几总是相同的,您不需要将它们与当前月份联系起来。
如果您只关心用英语成为他们。
string[] weekdays = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Saturday" };
如果您想要一个月中所有日子的列表,请参阅此线程。