time - SAS时间信息
问题描述
我将数据从 Excel 表导入到 SAS。
SAS 中的数据包含格式为 0.635417 的时间,在原始 Excel 表中应该是下午 3:15。
似乎 0.635417 是一天中总分钟数的百分比。因为一天有 1440 分钟,并且 (0.635417*1440)/60=15.25
所以整数 15 表示 15 小时(或下午 3 点),并且 0.25*60=15 分钟,所以时间应该是下午 3:15 是有道理的
但是,我找不到可以将此值 (0.635417) 转换为我想要的时间值 (3:15 pm) 的 INFORMAT。
如果有人能给我一些建议,我将不胜感激。
解决方案
根据 SAS 文档,时间值
是一个值,表示自当天午夜以来的秒数。SAS 时间值介于 0 和 86400 之间。
因此,您需要做的就是将您的值乘以 86400,而不是将格式(而不是信息)应用于该变量。例如 HHMM5。
data x;
x=0.635417;
y=x*86400;
format y HHMM5.;
run;
proc print;
run;
推荐阅读
- c# - 从 C# web api 代码访问 Primavera P6 数据
- localization - 在 .NET 5.0 中删除了 ResourceManagerWithCultureStringLocalizer 类和 WithCulture 方法
- reactjs - 当通过钩子更新全局状态时,React 组件按什么顺序重新渲染?
- hive - 从当前行中减去前一行值
- python - Python - 指定要使用的库版本(对于所有这些)
- mongodb - 从不同的 MongoDB 集合中获取读取优化视图的值
- r - 生成一列随机数
- r - 当我保存图像时,我的水平条形图会切断一些文本。如何使条更短,文本更长?
- c# - 如何在单元测试期间检测空的 IEnumerator 函数调用?
- node.js - 使用 docker 构建 Yarn 工作区