是否可以在datetime格式中减去一天?
本文关键字:一天 格式 datetime 是否 | 更新日期: 2023-09-27 18:15:40
我有以下简单的例子:
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()
允许您添加天数,为未来日期为正,为过去日期为负。
。必须是2015-08-22 12.09.59。是吗?可以使用一些"-"运算符或其他东西在日期时间格式实现的结果?
不,在DateTime格式中是不可能的。你不能改变任何事情。因为它只用于定义Date以字符串格式显示的格式。任何加法或减法只能在按照"Arghya C"的建议将其转换为字符串格式之前进行。
你能解释一下你的局限性吗?这样我们才能解决你的问题。
如果只能影响日期时间模式,则使用往返格式并将返回的字符串解析回日期时间,添加计算并将其格式化为所需格式:
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");