c#日期时间创建星期几小时和分钟
如何仅基于以下信息创建日期时间: 星期几、小时和小步舞曲 也就是说,我不在乎现在是哪一个月,甚至是哪一天(我在数据库中没有这些信息)c#日期时间创建星期几小时和分钟,c#,datetime,C#,Datetime,如何仅基于以下信息创建日期时间: 星期几、小时和小步舞曲 也就是说,我不在乎现在是哪一个月,甚至是哪一天(我在数据库中没有这些信息) 我原以为可以将它们解析为字符串,但结果比我想象的要困难得多 您可以为生成日期创建函数: public DateTime BuildDate(Int32 day, Int32 hour, Int32 minute) { var now = DateTime.Now; var initialDate =
我原以为可以将它们解析为字符串,但结果比我想象的要困难得多 您可以为生成日期创建函数:
public DateTime BuildDate(Int32 day, Int32 hour, Int32 minute)
{
var now = DateTime.Now;
var initialDate = now.AddDays(((Int32)now.DayOfWeek + 1) * -1);
return new DateTime(initialDate.Year, initialDate.Month, initialDate.AddDays(day).Day, hour, minute, 0);
}
在这种情况下,一周中的一天从星期日开始。您可以为生成日期创建一个函数:
public DateTime BuildDate(Int32 day, Int32 hour, Int32 minute)
{
var now = DateTime.Now;
var initialDate = now.AddDays(((Int32)now.DayOfWeek + 1) * -1);
return new DateTime(initialDate.Year, initialDate.Month, initialDate.AddDays(day).Day, hour, minute, 0);
}
在这种情况下,一周中的一天从星期天开始。您可以使用:DateTime.ToString方法(字符串)
更多信息:您可以使用:DateTime.ToString方法(字符串)
更多信息:为您创建的函数可能对您有所帮助
public DateTime CreateDayOfWeek(int DayOfWeek,int hour,int min)
{
DateTime dt = new DateTime(DateTime.Now.Year,DateTime.Now.Month,DateTime.Now.Day,hour,min,0);
// The (... + 7) % 7 ensures we end up with a value in the range [0, 6]
int daysUntilTuesday = (DayOfWeek - (int)dt.DayOfWeek + 7) % 7;
// DateTime nextTuesday = today.AddDays(daysUntilTuesday);
dt = dt.AddDays(daysUntilTuesday);
return dt;
}
我已经测试了好几次了,这对我来说很有效。。
如果你有任何问题,请告诉我
下面是为您创建的函数,它可能会对您有所帮助
public DateTime CreateDayOfWeek(int DayOfWeek,int hour,int min)
{
DateTime dt = new DateTime(DateTime.Now.Year,DateTime.Now.Month,DateTime.Now.Day,hour,min,0);
// The (... + 7) % 7 ensures we end up with a value in the range [0, 6]
int daysUntilTuesday = (DayOfWeek - (int)dt.DayOfWeek + 7) % 7;
// DateTime nextTuesday = today.AddDays(daysUntilTuesday);
dt = dt.AddDays(daysUntilTuesday);
return dt;
}
我已经测试了好几次了,这对我来说很有效。。
如果你有任何问题,请告诉我
这里是你可以这样创建你的日期
var hour = 1; // you set this from code
var minute = 1; // set this from code
var now = DateTime.Now;
var tempDateTime = new DateTime(now.Year, now.Month, now.Day, hour, minute, 0);
// Make this enum whatever you want your date to be...
var num = (int)DayOfWeek.Sunday;
var dateForComparison = tempDateTime.AddDays(num - (int)tempDateTime.DayOfWeek);
现在dateForComparison保存一个日期,该日期设置了您的时间值和您指定的星期几。您可以这样创建日期
var hour = 1; // you set this from code
var minute = 1; // set this from code
var now = DateTime.Now;
var tempDateTime = new DateTime(now.Year, now.Month, now.Day, hour, minute, 0);
// Make this enum whatever you want your date to be...
var num = (int)DayOfWeek.Sunday;
var dateForComparison = tempDateTime.AddDays(num - (int)tempDateTime.DayOfWeek);
现在dateForComparison保存一个日期,该日期设置了您的时间值和您指定的星期几。您说您不关心它是哪个月或日期,这让我假设您想要任何日期,只要它是正确的星期几和时间(小时和分钟)。您可以这样做:
var date = new System.DateTime(2016, 9, 25);
date = date.AddDays(dow).AddHours(hours).AddMinutes(minutes);
2016年9月25日是星期日。加上一周中的某一天(星期日=0),就得到了正确的日期。然后加上小时和分钟。当然,如果你愿意,你可以选择任何月份/年份的任何一个星期天开始。你说你不在乎它是什么月份或日期,这让我假设你想要任何日期,只要它是一周中正确的一天和时间(小时和分钟)。您可以这样做:
var date = new System.DateTime(2016, 9, 25);
date = date.AddDays(dow).AddHours(hours).AddMinutes(minutes);
2016年9月25日是星期日。加上一周中的某一天(星期日=0),就得到了正确的日期。然后加上小时和分钟。当然,如果你愿意,你可以选择任何月份/年份的任何一个星期天开始。这个问题没有什么意义,“我不在乎现在是什么月份,甚至不在乎日期是什么”——如果是这样的话,在一周的那一天编一个随机的日期!这是最好的选择吗?在周一选择一些随机日期,然后从那里开始工作?这取决于你以后想对
DateTime
变量做什么如果你只考虑day,你可以选择随机日期。最后我将与从数据库中提取的另一个进行比较。同样,所有关于日期和时间的信息都毫无意义,“我不在乎现在是哪一个月,甚至不在乎日期是什么”——如果是这样的话,就在一周中的那一天编一个随机的日期吧!这是最好的选择吗?在周一选择一些随机日期,然后从那里开始工作?这取决于你以后想对DateTime
变量做什么如果你只考虑day,你可以选择随机日期。最后我将与从数据库中提取的另一个进行比较。请在给出答案之前仔细阅读问题。请在给出答案之前仔细阅读问题。