SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 633|回复: 3
打印 上一主题 下一主题

初学者,请教一个SAS的时间格式难题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-3-30 12:44:29 | 只看该作者

初学者,请教一个SAS的时间格式难题

我遇到了一个难题:
时间数据保存再两列中,第一列是:12:00:25, 第二列是:AM
现在我要让最终是有关时间的数据就保存再一列中,而且格式是24小时制的。
eg 第一列是:12:00:25, 第二列是:AM
最后结果应该是 :00:00:25

请教各位高手了。
多谢了。
回复 支持 反对

使用道具 举报

0

主题

0

帖子

2

积分

新手上路

Rank: 1

积分
2
沙发
发表于 2009-3-30 15:13:26 | 只看该作者

Re: 初学者,请教一个SAS的时间格式难题

[code:3vzdxqja]
data test;
x="12:00:25";
y="AM";
time=put( input(compress(x||y), time11.),time8.);
run;[/code:3vzdxqja]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2009-3-30 23:02:47 | 只看该作者

Re: 初学者,请教一个SAS的时间格式难题

多谢了。
但是因为我的时间数据, 比如“12:10:00”是存在列“TSLSTime” 中,当我定义x=TSLSTime,x 得到的值是43800。AM/PM 是保存在另一列“TSLSAMP"中,当我定义y=TSLSAMP是,得到的值仍然是AM or PM。因为这样,所以time=put( input(compress(x||y), time11.),time8.);得到是空的。
这是什么原因,看起来好像是x=TSLSTime得到的值是sas的时间值日。但是这应该是不对的,因为还没有考虑AM 和PM。 真是发愁,怎么解决这个问题。
再次请教了。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2009-3-31 02:33:50 | 只看该作者

Re: 初学者,请教一个SAS的时间格式难题

最后,我尝试用put函数,把数值变量转为字符后就可以用了。
谢了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-5 14:00 , Processed in 0.122391 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表