能否分别为DateTime变量赋值日期与时间?附具体场景需求
当然可行!DateTime拆分组合日期和时间的实现方法
完全可以实现你说的需求——把一个DateTime变量的日期部分来自另一个DateTime,时间部分来自第三个DateTime。这是处理日期时间类型非常常见的操作,我给你用两种主流语言的示例来演示:
C# 实现方式
核心思路是利用DateTime.Date提取纯日期(时间部分为00:00:00),再加上另一个DateTime的TimeOfDay(TimeSpan类型的时间部分):
// 初始化示例变量 DateTime start = new DateTime(2018, 4, 2, 10, 0, 0); DateTime outTime = new DateTime(2018, 4, 4, 16, 0, 0); // 组合日期和时间 DateTime currentDate = start.Date + outTime.TimeOfDay; // 输出结果:4/2/2018 16:00:00 Console.WriteLine(currentDate);
解释一下:
start.Date会返回仅包含日期的DateTime对象,值为4/2/2018 00:00:00outTime.TimeOfDay返回一个TimeSpan对象,代表16:00:00的时间跨度- 两者相加后,就得到了你需要的组合结果
Python 实现方式
如果用Python的datetime模块,可以直接用datetime.combine()方法,专门用来组合日期和时间部分:
from datetime import datetime # 初始化示例变量 start = datetime(2018, 4, 2, 10, 0, 0) out_time = datetime(2018, 4, 4, 16, 0, 0) # 组合日期和时间 current_date = datetime.combine(start.date(), out_time.time()) # 输出结果:2018-04-02 16:00:00 print(current_date)
这个方法更直观,直接把start.date()(纯日期对象)和out_time.time()(纯时间对象)组合成新的datetime实例。
内容的提问来源于stack exchange,提问作者Dashamlav
相关产品推荐
相关产品推荐

