【发布时间】:2026-01-17 00:15:02
【问题描述】:
我的 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";
}
}
【问题讨论】:
-
我认为您希望在 code review 上发布此内容,而不是堆栈交换。
-
2015-01-15T00:00:00Z 是 UTC 日 的开始,而不是当前时区的一天的开始。你要哪一个?
-
我认为您不希望在格式字符串中使用
K。