c# - 如何从C#中的日期计算一天的开始和结束

标签 c# date datetime

我的 C# 程序中有一个这样的日期:“01/15/2015”,我需要将其转换为这样的字符串:“2015-01-15T00:00:00Z”(即,那天的开始)。我正在调用需要该格式的第 3 方 api。

然后我需要采用相同的日期并将其转换为:“2015-01-15T23:59:59Z”(即给定的一天结束)。

这就是我所拥有的,根据我所做的有限测试,它似乎可以工作,但我想知道这是否容易出错,或者是否有更好的方法来实现这一点。我以前没有使用过这种格式的日期,所以我想我会问那些有更多经验的人。 T23:59:59Z 会是我服务器所在时区的一天结束时间吗?

程序示例:

    class Program
    {
        static void Main(string[] args)
        {
            Search("01/15/2015");
        }

         private static void Search(string date) 
        {
            //produce this:                                    
            //string startOfDay = "2015-01-15T00:00:00Z";                        
            //string endOfDay = "2015-01-15T23:59:59Z";

            DateTime temp1 = DateTime.Parse(date);
            string startOfDay = temp1.ToString("yyyy-MM-ddTHH:mm:ssK") + "Z";

            DateTime temp2 = DateTime.Parse(date);
            string endOfDay = temp2.ToString("yyyy-MM-ddT") + "23:59:59Z";
        }
    }

最佳答案

一天的开始很容易;你可以只使用 .Date

仅供引用:请务必检查文化。

enter image description here

class Program
{
    static void Main(string[] args)
    {

        DateTime date;
        if (DateTime.TryParse("01/15/2015", out date))
        {
            var startOfDay = date.Date;
            Console.WriteLine(startOfDay.ToString("s") + "Z");

            var endOfDay = date.ToEndOfDay();
            Console.WriteLine(endOfDay.ToString("s") + "Z");
        }

        Console.ReadLine();
    }
}

public static class DateExtensions
{
    public static DateTime ToEndOfDay(this DateTime date)
    {
        return date.Date.AddDays(1).AddTicks(-1);
    }
}

关于c# - 如何从C#中的日期计算一天的开始和结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39151150/

相关文章:

c# - javascript : json object with arrays serialized for use in . NET MVC 操作

c# - 如何在Asp.net C#中调用webmethod

javascript - 如何在javascript中获取几天前的日期

php - 将日期转换为日期时间时出错

php - 使用 strtotime() 计算时差(以小时和分钟为单位)

c# - 使用 IClassFixture 时输出测试结果 XUnit .net core

C# 设置默认下载目录 chrome WebDriver?

javascript - 使用 momentjs 将日期转换为剩余时间

r - 使用 as.Date 格式化月份缩写

PHP 日期时间难度