SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 850|回复: 7
打印 上一主题 下一主题

日期格式怎么转化

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-8-20 07:51:57 | 只看该作者

日期格式怎么转化

想请教大侠,下面的日期格式之前是字符型的,怎么转化为日期的sas格式??先谢谢了。[code:v5jlyi8d]data y;
input id year;
cards;
1001        1975-01-23
1002        1972-01-08
1003        1971-4-3
1004        1989-12-6
1005        .
1006        1974-09-20
1007        1978-07-20
1008        1972-11-15
1009        1976-04-21
1010        1965-11-27
1011        .
1012        1974-04-12
1013        1977-02-16
1014        1978-10-1
1015        1977-02-19
1016        1974-01-09
1017        1978-02-27
1018        1975-09-21
1019        1976-6-2
1020        1976-11-12
1021        1972-7-7
1022        1970-1-7
1023        1971-2-18
1024        1975-10-11
1025        1978-6-3
1026        1973-11-3
;[/code:v5jlyi8d]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2010-8-20 08:35:38 | 只看该作者

Re: 日期格式怎么转化

[code:33f75kaz]data y;
        input id temp :$10.;
        if not missing(temp) then
                year=mdy(input(scan(temp,2),best.),
                                input(scan(temp,3),best.),
                                input(scan(temp,1),best.));
        format year yymmdd10.;
cards;
1001   1975-01-23
1002   1972-01-08
1003   1971-4-3
1004   1989-12-6
1005   .
1006   1974-09-20
1007   1978-07-20
1008   1972-11-15
1009   1976-04-21
1010   1965-11-27
1011   .
1012   1974-04-12
1013   1977-02-16
1014   1978-10-1
1015   1977-02-19
1016   1974-01-09
1017   1978-02-27
1018   1975-09-21
1019   1976-6-2
1020   1976-11-12
1021   1972-7-7
1022   1970-1-7
1023   1971-2-18
1024   1975-10-11
1025   1978-6-3
1026   1973-11-3
;[/code:33f75kaz]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2010-8-20 09:44:00 | 只看该作者

Re: 日期格式怎么转化

呵呵,再次看到hopewell的回复,心里面好舒坦,谢谢hopewell,
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2010-8-20 10:21:03 | 只看该作者

Re: 日期格式怎么转化

to hopewwell,
    再次烦您,如果手边是一个sas数据集,而非cards之后的数据录入,此时“  input id temp :$10.;”这句话就省去,但是怎么表达 “input id temp :$10.”中的“ :$10”这个意思呢??
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2010-8-20 11:41:57 | 只看该作者

Re: 日期格式怎么转化

year已经是数据集里的一个字符变量了,直接用就行
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2010-9-3 06:41:21 | 只看该作者

Re: 日期格式怎么转化

[code:239ixvuq]  data y;
input id year:yymmdd10.;
format year date9.;
cards;
1001   1975-01-23
1002   1972-01-08
1003   1971-4-3
1004   1989-12-6
1005   .
1006   1974-09-20
1007   1978-07-20
1008   1972-11-15
1009   1976-04-21
1010   1965-11-27
1011   .
1012   1974-04-12
1013   1977-02-16
1014   1978-10-1
1015   1977-02-19
1016   1974-01-09
1017   1978-02-27
1018   1975-09-21
1019   1976-6-2
1020   1976-11-12
1021   1972-7-7
1022   1970-1-7
1023   1971-2-18
1024   1975-10-11
1025   1978-6-3
1026   1973-11-3
;
[/code:239ixvuq]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2010-9-6 16:05:49 | 只看该作者

Re: 日期格式怎么转化

[code:1addogyk]data y;
input id year:yymmdd.;
format year date9.;
cards;
1001   1975-01-23
1002   1972-01-08
1003   1971-4-3
1004   1989-12-6
1006   1974-09-20
1007   1978-07-20
1008   1972-11-15
1009   1976-04-21
1010   1965-11-27
1012   1974-04-12
1013   1977-02-16
1014   1978-10-1
1015   1977-02-19
1016   1974-01-09
1017   1978-02-27
1018   1975-09-21
1019   1976-6-2
1020   1976-11-12
1021   1972-7-7
1022   1970-1-7
1023   1971-2-18
1024   1975-10-11
1025   1978-6-3
1026   1973-11-3
;[/code:1addogyk]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
8#
 楼主| 发表于 2010-9-25 14:39:36 | 只看该作者

Re: 日期格式怎么转化

直接用input语句就可以了。

data y;
   input id temp :$10.;
   year=input(temp,yymmdd10.);
   format year yymmdd10.;
cards;
1001   1975-01-23
1002   1972-01-08
1003   1971-4-3
1004   1989-12-6
1005   .
1006   1974-09-20
1007   1978-07-20
1008   1972-11-15
1009   1976-04-21
1010   1965-11-27
1011   .
1012   1974-04-12
1013   1977-02-16
1014   1978-10-1
1015   1977-02-19
1016   1974-01-09
1017   1978-02-27
1018   1975-09-21
1019   1976-6-2
1020   1976-11-12
1021   1972-7-7
1022   1970-1-7
1023   1971-2-18
1024   1975-10-11
1025   1978-6-3
1026   1973-11-3
;
run;
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-3 23:46 , Processed in 0.072074 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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