c#是否可以在日期时间格式中减去一天
c# Is it possible to subtract a day in the datetime format
我有以下简单示例:
string dt = DateTime.Now.ToString("yyyy-MM-dd hh.mm.ss");
我无法更改 DateTime.Now
,但我可以更改日期时间格式 yyyy-MM-dd hh.mm.ss
。按照此示例,结果必须是今天的日期,但我需要使用除日(年、月、小时、分钟和秒)之外的相同参数获取昨天的日期。例如。 2015-08-23 12.09.59 必须是 2015-08-22 12.09.59。那么是否可以在日期时间格式中使用一些“-”运算符或其他东西来实现结果?
如果你想要昨天的日期,你可以这样做
string dt = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd hh.mm.ss");
DateTime.AddDays()
允许您添加天数,正数表示未来日期,负数表示过去日期。
E.g. 2015-08-23 12.09.59 must be 2015-08-22 12.09.59. So is it
possible to use some "-" operator or something else inside the
datetime format to achieve the result?
不,在 DateTime 格式中是不可能的。你不能改变任何事情。因为它仅用于定义以字符串格式显示的日期格式。任何加法或减法只能在按照 "Arghya C".
的建议将其转换为字符串格式之前完成
能否解释一下您的局限性,以便我们解决您的问题。
如果您只能影响日期时间模式,则使用 roundtrip format 并将返回的字符串解析回日期时间,添加计算并将其格式化为所需格式:
var dateTimeString = badLibrary.GetDateTime("o");
var dateTime = DateTime.Parse(dateTimeString, null, DateTimeStyles.RoundtripKind);
var newDateTime = dateTime.AddDays(-1);
return newDateTime.ToString("yyyy-MM-dd hh.mm.ss");
我有以下简单示例:
string dt = DateTime.Now.ToString("yyyy-MM-dd hh.mm.ss");
我无法更改 DateTime.Now
,但我可以更改日期时间格式 yyyy-MM-dd hh.mm.ss
。按照此示例,结果必须是今天的日期,但我需要使用除日(年、月、小时、分钟和秒)之外的相同参数获取昨天的日期。例如。 2015-08-23 12.09.59 必须是 2015-08-22 12.09.59。那么是否可以在日期时间格式中使用一些“-”运算符或其他东西来实现结果?
如果你想要昨天的日期,你可以这样做
string dt = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd hh.mm.ss");
DateTime.AddDays()
允许您添加天数,正数表示未来日期,负数表示过去日期。
E.g. 2015-08-23 12.09.59 must be 2015-08-22 12.09.59. So is it possible to use some "-" operator or something else inside the datetime format to achieve the result?
不,在 DateTime 格式中是不可能的。你不能改变任何事情。因为它仅用于定义以字符串格式显示的日期格式。任何加法或减法只能在按照 "Arghya C".
的建议将其转换为字符串格式之前完成能否解释一下您的局限性,以便我们解决您的问题。
如果您只能影响日期时间模式,则使用 roundtrip format 并将返回的字符串解析回日期时间,添加计算并将其格式化为所需格式:
var dateTimeString = badLibrary.GetDateTime("o");
var dateTime = DateTime.Parse(dateTimeString, null, DateTimeStyles.RoundtripKind);
var newDateTime = dateTime.AddDays(-1);
return newDateTime.ToString("yyyy-MM-dd hh.mm.ss");