datetime.hpp
前往此文件的文档。
1 /*
2  * 版权所有 (c) 2019-2025, NVIDIA CORPORATION.
3  *
4  * 根据 Apache 许可证 2.0 版本(“许可证”)获得许可;
5  * 除非符合许可证,否则您不得使用此文件。
6  * 您可以在以下位置获取许可证副本:
7  *
8  * https://apache.ac.cn/licenses/LICENSE-2.0
9  *
10  * 除非适用法律要求或书面同意,否则根据许可证分发的软件
11  * 是基于“原样”提供的,
12  * 不附带任何明示或暗示的保证或条件。
13  * 有关特定语言的管理权限和
14  * 限制,请参阅许可证。
15  */
16 
17 #pragma once
18 
19 #include <cudf/types.hpp>
21 #include <cudf/utilities/export.hpp>
23 
24 #include <rmm/cuda_stream_view.hpp>
25 
26 #include <memory>
27 
33 namespace CUDF_EXPORT cudf {
34 namespace datetime {
44 enum class datetime_component : uint8_t {
45  YEAR,
46  MONTH,
47  DAY,
48  WEEKDAY,
49  HOUR,
50  MINUTE,
51  SECOND,
52  MILLISECOND,
53  MICROSECOND,
54  NANOSECOND
55 };
56 
69 std::unique_ptr<cudf::column> extract_datetime_component(
71  datetime_component component,
74  // 组结束
69 std::unique_ptr<cudf::column> last_day_of_month(
97 
109 std::unique_ptr<cudf::column> day_of_year(
110  cudf::column_view const& column,
113 
145 std::unique_ptr<cudf::column> add_calendrical_months(
146  cudf::column_view const& timestamps,
147  cudf::column_view const& months,
150 
182 std::unique_ptr<cudf::column> add_calendrical_months(
183  cudf::column_view const& timestamps,
184  cudf::scalar const& months,
187 
202 std::unique_ptr<cudf::column> is_leap_year(
203  cudf::column_view const& column,
206 
220 std::unique_ptr<cudf::column> days_in_month(
221  cudf::column_view const& column,
224 
238 std::unique_ptr<cudf::column> extract_quarter(
239  cudf::column_view const& column,
242 
247 enum class rounding_frequency : int32_t {
248  DAY,
249  HOUR,
250  MINUTE,
251  SECOND,
252  MILLISECOND,
253  MICROSECOND,
254  NANOSECOND
255 };
256 
268 std::unique_ptr<cudf::column> ceil_datetimes(
269  cudf::column_view const& column,
270  rounding_frequency freq,
273 
285 std::unique_ptr<cudf::column> floor_datetimes(
286  cudf::column_view const& column,
287  rounding_frequency freq,
290 
302 std::unique_ptr<cudf::column> round_datetimes(
303  cudf::column_view const& column,
304  rounding_frequency freq,
307  // 组结束
309 
310 } // 命名空间 datetime
311 } // 命名空间 CUDF_EXPORT cudf
设备数据作为列元素的非拥有、不可变视图,其中某些元素可能为空,如指示...
作为列元素的设备数据的可空容器。
定义: column.hpp:47
表示单个值的拥有类。
定义: scalar.hpp:51
std::unique_ptr< cudf::column > add_calendrical_months(cudf::column_view const ×tamps, cudf::scalar const &months, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
从日期时间类型添加或减去指定的月数,并返回一个时间戳列,该列的类型为...
std::unique_ptr< cudf::column > floor_datetimes(cudf::column_view const &column, rounding_frequency freq, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
将日期时间向下舍入到给定频率的最近倍数。
std::unique_ptr< cudf::column > last_day_of_month(cudf::column_view const &column, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
计算日期时间类型中月份的最后一天,并返回一个 TIMESTAMP_DAYS cudf::column。
std::unique_ptr< cudf::column > days_in_month(cudf::column_view const &column, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
提取月份中的天数。
std::unique_ptr< cudf::column > round_datetimes(cudf::column_view const &column, rounding_frequency freq, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
将日期时间舍入到给定频率的最近倍数。
std::unique_ptr< cudf::column > is_leap_year(cudf::column_view const &column, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
检查给定日期的年份是否为闰年。
std::unique_ptr< cudf::column > day_of_year(cudf::column_view const &column, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
从日期时间计算自年初以来的天数,并返回一个 int16_t cudf::column。
std::unique_ptr< cudf::column > extract_quarter(cudf::column_view const &column, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
返回日期的季度。
rounding_frequency
日期时间舍入函数 ceil、floor、round 支持的固定频率。
std::unique_ptr< cudf::column > ceil_datetimes(cudf::column_view const &column, rounding_frequency freq, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
将日期时间向上舍入到给定频率的最近倍数。
datetime_component
可以提取的日期时间组件类型。
定义: datetime.hpp:44
std::unique_ptr< cudf::column > extract_datetime_component(cudf::column_view const &column, datetime_component component, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
从任何日期时间类型中提取指定的日期时间组件,并返回一个 int16_t cudf::column。
rmm::cuda_stream_view const get_default_stream()
获取当前默认流。
rmm::device_async_resource_ref get_current_device_resource_ref()
获取当前设备内存资源的引用。
cuda::mr::async_resource_ref< cuda::mr::device_accessible > device_async_resource_ref
cuDF 接口
定义: host_udf.hpp:37
libcudf 的类型声明。