You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在nodejs-polars中使用strftime格式化日期?

在nodejs-polars中使用strftime格式化日期

在nodejs-polars里,对Datetime类型的字面量或列进行格式化,需要通过str命名空间调用strftime()方法,以下是具体实现方式:

针对单个Datetime字面量的格式化

结合你提供的代码,只需在startOfYesterday后链式调用.str.strftime(),传入指定的格式字符串即可:

import pl from 'nodejs-polars';

const yesterday = new Date(Date.now());
yesterday.setDate(yesterday.getDate() - 1);
const startOfYesterday = pl.lit(yesterday).cast(pl.Datetime('ms'));

// 调用strftime格式化,这里用'%Y-%m-%d %H:%M:%S'作为示例格式
const formattedDate = startOfYesterday.str.strftime('%Y-%m-%d %H:%M:%S');
console.log(formattedDate);

执行后会输出格式化后的字符串,比如:

2024-09-11 00:19:59

针对DataFrame中Datetime列的格式化

如果是处理DataFrame里的日期列,方法类似:

import pl from 'nodejs-polars';

const yesterday = new Date(Date.now());
yesterday.setDate(yesterday.getDate() - 1);

const df = pl.DataFrame({
  raw_date: [new Date(), yesterday]
}).withColumn(pl.col('raw_date').cast(pl.Datetime('ms')));

// 新增格式化后的日期列
const formattedDf = df.withColumn(
  pl.col('raw_date').str.strftime('%Y-%m-%d').alias('formatted_date')
);

console.log(formattedDf);

格式字符串说明

格式规则和标准strftime一致,常用的占位符包括:

  • %Y:4位年份(如2024)
  • %m:两位月份(如09)
  • %d:两位日期(如11)
  • %H:24小时制小时(如00)
  • %M:两位分钟(如19)
  • %S:两位秒数(如59)
  • %f:毫秒数(如059)

注意:必须确保目标数据是Datetime类型(你已经通过cast(pl.Datetime('ms'))完成了类型转换,这一步是必要前提)。

内容的提问来源于stack exchange,提问作者Mikko Ohtamaa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 12:12:11