我有一栏包含HH:mm:ss PM/AM
格式的时间。我将同一时间四舍五入到下一个半小时。对于例如,如果时间是10:05:00
上午则四舍五入时间11:30:00am
,如果10:55:00 am
再11:30:00 am
(约到下一个半小时)。
我有一列包含HH:mm:ss PM / Am格式的时间
如果我从那句话中正确理解,我会假设您有一个,DateTime
并且得到的是hh:mm:ss tt
格式的列的字符串表示形式。
如果是这样,您可以先解析它DateTime
,检查它的分钟数是0
,如果是,则添加30
分钟数,如果不是,则将其设置为零Minute
并添加1.5
小时数。
string s = "10:00:00 am";
DateTime dt;
if(DateTime.TryParseExact(s, "hh:mm:ss tt", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dt))
{
if(dt.Minute != 0)
dt.AddMinutes(-dt.Minute).AddHours(1.5).ToString("hh:mm:ss tt",
CultureInfo.InvariantCulture);
else
dt.AddMinutes(30).ToString("hh:mm:ss tt", CultureInfo.InvariantCulture);
}
但当然,既然你已经一个Datetime
实例,请做这一切AddMinutes
和/或AddHours
处理第一则显示它的文本列中的代表性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句