PineScript是否有datetime/timestamp原生类型?自定义类型存储需求
存储时间戳的原生类型选择
针对你的需求,有两种常见的原生类型方案可以用来存储time或timenow函数返回的时间/时间戳值,以下结合示例代码说明:
1. 使用语言原生的时间对象类型
这类类型直接封装了时间信息,自带时间解析、格式化等操作方法,可读性和易用性更强。
TypeScript/JavaScript 示例
export type VerticalLineData = { price_level: number; // 注:TypeScript中无float类型,用number替代 candle_timestamp_from: Date; candle_timestamp_to: Date; };
Date类型可以直接接收new Date()(对应当前时间),也能将time/timenow返回的时间戳数值转为Date对象使用。
Python 示例(基于PEP 484类型提示)
from datetime import datetime class VerticalLineData: price_level: float candle_timestamp_from: datetime candle_timestamp_to: datetime
datetime类型可直接存储datetime.now()(对应timenow)或其他时间生成函数的返回结果。
2. 使用整数类型存储Unix时间戳
如果更关注存储效率或跨系统兼容性,可直接用整数存储Unix时间戳(秒级或毫秒级),这也是很多系统常用的方式。
TypeScript/JavaScript 示例
export type VerticalLineData = { price_level: number; candle_timestamp_from: number; // 存储毫秒级Unix时间戳 candle_timestamp_to: number; };
可以直接将Date.now()(当前时间毫秒戳)或time函数返回的时间戳赋值给这类字段。
Python 示例
class VerticalLineData: price_level: float candle_timestamp_from: int # 存储秒级或毫秒级Unix时间戳 candle_timestamp_to: int
time.time()返回的是秒级浮点时间戳,可转成整数存储;若需毫秒级,可通过int(time.time() * 1000)转换。
内容的提问来源于stack exchange,提问作者elaspog
相关产品推荐
相关产品推荐

