这个时间怎么取差值

tiantian2324 2016-09-02 11:23:47
我想取一个时间 固定是07:30

现在取哪天 不会处理?

是这样的
比如 现在是
2016-09-01 07:29:59 我要的结果是 2016-08-31 07:30

2016-09-01 07:30:01 我要的结果是 2016-09-01 07:30
2016-09-02 01:29:59 我要的结果是 2016-09-01 07:30
2016-09-02 07:30:00 我要的结果是 2016-09-01 07:30

2016-09-02 07:30:01 我要的结果是 2016-09-02 07:30

..
就是根据 现在的 时间 DateTime.now 以早上07:30:00 算前一天,以后算当天的 这个怎么取.

得到上面的一个起始时间
最终是要取 现在的时间 DateTime.now 和 得到的那个起始时间的 小时差.
新人写不出来 在线等 能用马上结贴.
...全文
253 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Poopaye 2016-09-02
  • 打赏
  • 举报
回复
DateTime dt = DateTime.Now;
DateTime dt2 = new DateTime(dt.Year, dt.Month, dt.Day, 7, 30, 0);
if(dt >= dt2)
    return dt2;
else
    return dt2.AddDays(-1);
王志威丶 2016-09-02
  • 打赏
  • 举报
回复

 public string GetTime()
        {
            string Result = "";
            DateTime Time_now = DateTime.Now;
            if (Time_now.Hour < 7 || (Time_now.Hour == 7 && Time_now.Minute < 30))
            {
                Result = Time_now.AddDays(-1).ToString("yyyy-MM-dd") + " 07:30";
            }
            else
            {
                Result = Time_now.ToString("yyyy-MM-dd") + " 07:30";
            }
            return Result;
        }
LFH__ 2016-09-02
  • 打赏
  • 举报
回复
DateTime dt = DateTime.Now;

DateTime dt2 = new DateTime(dt.Year, dt.Month, dt.Day, 7, 30, 0);

if(dt >= dt2)

return dt2;

else

return dt2.AddDays(-1);
Honest_Dr 2016-09-02
  • 打赏
  • 举报
回复
DateTime d1 = new DateTime(2009, 2, 1, 15, 36, 05); DateTime d2 = DateTime.Now;// new DateTime(2004, 1, 5, 20, 16, 35); TimeSpan d3 = d2.Subtract(d1); Response.Write( "相差:"+ d3.Days.ToString() + "天" + d3.Hours.ToString() + "小时" + d3.Minutes.ToString() + "分钟" + d3.Seconds.ToString() + "秒"); 仅仅要天数 DateTime d1 = new DateTime(2009, 2, 1, 20, 36, 05); d1 = DateTime.Parse(d1.ToShortDateString()); DateTime d2 =DateTime.Parse(DateTime.Now.ToShortDateString());// new DateTime(2004, 1, 5, 20, 16, 35); TimeSpan d3 = d2.Subtract(d1);
  • 打赏
  • 举报
回复
Func<DateTime, DateTime> func = dt =>
{
    var tmpDate = new DateTime(dt.Year, dt.Month, dt.Day, 7, 30, 0);
    if (tmpDate > dt)
    {
        tmpDate = tmpDate.AddDays(-1);
    }
    return tmpDate;
};
var dts = new DateTime[] {
    new DateTime(2016,9,1,07,29,59),
    new DateTime(2016,9,1,07,30,0),
    new DateTime(2016,9,1,07,30,1),
};
foreach (var dt in dts)
{
    Console.WriteLine("{0:yyyy-MM-dd HH:mm:ss}   {1:yyyy-MM-dd HH:mm:ss}", dt, func(dt));
}
  • 打赏
  • 举报
回复

 DateTime dt = Convert.ToDateTime(DateTime.Now.AddHours(-7.5).ToString("yyyy-MM-dd") + " 07:30");
还想懒够 2016-09-02
  • 打赏
  • 举报
回复
new DateTime(2015,9,2,7,29,59).AddHours(-7).AddMinutes(-30).Date.AddHours(7).AddMinutes(30)

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧