SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1734|回复: 9
打印 上一主题 下一主题

date函数获取时间与output窗口显示时间不一致,这是为什么?

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2003-11-13 15:34:47 | 只看该作者

date函数获取时间与output窗口显示时间不一致,这是为什么?

本人在利用出生日期计算年龄时(此问题已经解决),发现这么一个现象,不知道这是为什么?我写了一个程序如下:
data test;
        now=date();
        format now ddmmyy10.;
run;
proc print data=test;
run;
运行后输出结果为:
                                                The SAS System             14:49 Tuesday, [color=red:ac9eb]November 13, 2003  [/color:ac9eb]19

                                               Obs           now

                                                1     [color=red:ac9eb]13/07/1993[/color:ac9eb]
now中的时间值与output窗口标题上的时间值不一致,后来我又换了一台计算机,得到同样的结果。这到底是怎么回事呢?各位dx在使用sas时有没有遇到类似情况,你们是如何解决的呢?望不吝赐教!谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2003-11-13 16:01:09 | 只看该作者
Do not change your computer's system time after you star your SAS program.
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2003-11-13 18:58:13 | 只看该作者
我也遇到同样的问题,这并非是由于启动SAS后改系统时间造成的.至今还没找到原因,盼DX指点
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2003-11-14 17:38:16 | 只看该作者
你们的SAS是用软件破解的吧!

SAS自动输出的时间为当前系统时间2003,而DATE()的时间是应该是初始化的时间,这个时间被破解软件设为1993了!要解决这个问题,唯有用license了!!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2003-11-14 17:52:02 | 只看该作者
[quote="leo":19f45]你们的SAS是用软件破解的吧!

SAS自动输出的时间为当前系统时间2003,而DATE()的时间是应该是初始化的时间,这个时间被破解软件设为1993了!要解决这个问题,唯有用license了!!![/quote:19f45]

好象我说反了???
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2003-11-16 22:33:13 | 只看该作者
什么说反了,没看明白! <!-- s:shock: --><img src="{SMILIES_PATH}/icon_eek.gif" alt=":shock:" title="Shocked" /><!-- s:shock: -->
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2003-11-17 11:10:40 | 只看该作者
我是试过一个解的LICENSE,但是后来又恢复了我原来的正版LICENSE.但问题依旧.不会要重装SAS系统吧?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
8#
 楼主| 发表于 2003-11-17 11:24:55 | 只看该作者
DATE() 为SAS初始化时间,被破解软件设为1993年!

&amp;sysdate是系统当前时间。

可以用options nodate;去掉ouput 中的日期,用&amp;sysdate 来计算当前日期!应该是对的!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
9#
 楼主| 发表于 2003-11-19 11:44:40 | 只看该作者
[quote=&quot;hannaqiu&quot;:b54a0]我是试过一个解的LICENSE,但是后来又恢复了我原来的正版LICENSE.但问题依旧.不会要重装SAS系统吧?[/quote:b54a0]

只要你用了破解,就破坏sashost.dll这个文件了,再用正版的license也修复不了了!如果你在破解前没有备份这个软件,只有到别人那里考一个来覆盖,然后再用license了!!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
10#
 楼主| 发表于 2003-11-22 13:02:45 | 只看该作者
[quote:024b2]用&amp;sysdate 来计算当前日[/quote:024b2]
的确是这样,我试过了,就是我要的结果,但最后,我发现还是这玩意来的实在
now='20nov2003'd;然后用now与出生日期相减,再除以365。age=round((now-birthday)/365);搞定!呵呵,好象有点偷懒啊! <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->  <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-5 19:16 , Processed in 0.128377 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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