STATA 日期型数据显示格式调整

发布时间 2023-04-06 14:43:42作者: myrj
use ceshi1,clear
. list

//      +--------------------+
//      | A3_1   A3_2   A3_3 |
//      |--------------------|
//   1. | 1967      5      2 |
//   2. | 1945      8     22 |
//   3. | 1949      3     14 |
//   4. | 1986      6     16 |
//   5. | 1958      3      6 |
//      |--------------------|
//   6. | 1996     12      7 |
//   7. | 1983     11     11 |
//   8. | 1945     11     15 |
//   9. | 1987      5     30 |
//  10. | 1991      4     28 |
//      +--------------------+
des
// Contains data from ceshi1.dta
//  Observations:            10                  
//     Variables:             3                  6 Apr 2023 13:57
// -------------------------------------------------------------------------------------------------------------------------------------------------------
// Variable      Storage   Display    Value
//     name         type    format    label      Variable label
// -------------------------------------------------------------------------------------------------------------------------------------------------------
// A3_1            int     %10.0g                [年]  A3. 您的出生日期是什么?
// A3_2            byte    %12.0g     A3_2       [月]  A3. 您的出生日期是什么?
// A3_3            byte    %12.0g     A3_3       [日]  A3. 您的出生日期是什么?
// -------------------------------------------------------------------------------------------------------------------------------------------------------
// Sorted by: 
gen csrq=date(string(A3_1)+"-"+string(A3_2)+"-"+string(A3_3),"YMD")
. list

//      +----------------------------+
//      | A3_1   A3_2   A3_3    csrq |
//      |----------------------------|
//   1. | 1967      5      2    2678 |
//   2. | 1945      8     22   -5245 |
//   3. | 1949      3     14   -3945 |
//   4. | 1986      6     16    9663 |
//   5. | 1958      3      6    -666 |
//      |----------------------------|
//   6. | 1996     12      7   13490 |
//   7. | 1983     11     11    8715 |
//   8. | 1945     11     15   -5160 |
//   9. | 1987      5     30   10011 |
//  10. | 1991      4     28   11440 |
//      +----------------------------+

format csrq %td
. list
//
//      +--------------------------------+
//      | A3_1   A3_2   A3_3        csrq |
//      |--------------------------------|
//   1. | 1967      5      2   02may1967 |
//   2. | 1945      8     22   22aug1945 |
//   3. | 1949      3     14   14mar1949 |
//   4. | 1986      6     16   16jun1986 |
//   5. | 1958      3      6   06mar1958 |
//      |--------------------------------|
//   6. | 1996     12      7   07dec1996 |
//   7. | 1983     11     11   11nov1983 |
//   8. | 1945     11     15   15nov1945 |
//   9. | 1987      5     30   30may1987 |
//  10. | 1991      4     28   28apr1991 |
//      +--------------------------------+
. des

// Contains data from ceshi1.dta
//  Observations:            10                  
//     Variables:             4                  6 Apr 2023 13:57
// -------------------------------------------------------------------------------------------------------------------------------------------------------
// Variable      Storage   Display    Value
//     name         type    format    label      Variable label
// -------------------------------------------------------------------------------------------------------------------------------------------------------
// A3_1            int     %10.0g                [年]  A3. 您的出生日期是什么?
// A3_2            byte    %12.0g     A3_2       [月]  A3. 您的出生日期是什么?
// A3_3            byte    %12.0g     A3_3       [日]  A3. 您的出生日期是什么?
// csrq            double  %td                   
// -------------------------------------------------------------------------------------------------------------------------------------------------------
// Sorted by: 
//      Note: Dataset has changed since last saved.
drop yw
gen yw=csrq
format yw %tw
. list
//%td:日  %td  %tm::显示年的第几周 
//      +------------------------------------------+
//      | A3_1   A3_2   A3_3        csrq        yw |
//      |------------------------------------------|
//   1. | 1967      5      2   02may1967   2011w27 |
//   2. | 1945      8     22   22aug1945    1859w8 |
//   3. | 1949      3     14   14mar1949    1884w8 |
//   4. | 1986      6     16   16jun1986   2145w44 |
//   5. | 1958      3      6   06mar1958   1947w11 |
//      |------------------------------------------|
//   6. | 1996     12      7   07dec1996   2219w23 |
//   7. | 1983     11     11   11nov1983   2127w32 |
//   8. | 1945     11     15   15nov1945   1860w41 |
//   9. | 1987      5     30   30may1987   2152w28 |
//  10. | 1991      4     28   28apr1991    2180w1 |
//      +------------------------------------------+
format yw %tm
list
//
//      +------------------------------------------+
//      | A3_1   A3_2   A3_3        csrq        yw |
//      |------------------------------------------|
//   1. | 1967      5      2   02may1967    2183m3 |
//   2. | 1945      8     22   22aug1945   1522m12 |
//   3. | 1949      3     14   14mar1949    1631m4 |
//   4. | 1986      6     16   16jun1986    2765m4 |
//   5. | 1958      3      6   06mar1958    1904m7 |
//      |------------------------------------------|
//   6. | 1996     12      7   07dec1996    3084m3 |
//   7. | 1983     11     11   11nov1983    2686m4 |
//   8. | 1945     11     15   15nov1945    1530m1 |
//   9. | 1987      5     30   30may1987    2794m4 |
//  10. | 1991      4     28   28apr1991    2913m5 |
//      +------------------------------------------+
format yw %tq
list
//%tq:季度
//      +-----------------------------------------+
//      | A3_1   A3_2   A3_3        csrq       yw |
//      |-----------------------------------------|
//   1. | 1967      5      2   02may1967   2629q3 |
//   2. | 1945      8     22   22aug1945   0648q4 |
//   3. | 1949      3     14   14mar1949   0973q4 |
//   4. | 1986      6     16   16jun1986   4375q4 |
//   5. | 1958      3      6   06mar1958   1793q3 |
//      |-----------------------------------------|
//   6. | 1996     12      7   07dec1996   5332q3 |
//   7. | 1983     11     11   11nov1983   4138q4 |
//   8. | 1945     11     15   15nov1945   0670q1 |
//   9. | 1987      5     30   30may1987   4462q4 |
//  10. | 1991      4     28   28apr1991   4820q1 |
//      +-----------------------------------------+

format yw %th
list
//%th:半年
//      +-----------------------------------------+
//      | A3_1   A3_2   A3_3        csrq       yw |
//      |-----------------------------------------|
//   1. | 1967      5      2   02may1967   3299h1 |
//   2. | 1945      8     22   22aug1945    -5245 |
//   3. | 1949      3     14   14mar1949    -3945 |
//   4. | 1986      6     16   16jun1986   6791h2 |
//   5. | 1958      3      6   06mar1958   1627h1 |
//      |-----------------------------------------|
//   6. | 1996     12      7   07dec1996   8705h1 |
//   7. | 1983     11     11   11nov1983   6317h2 |
//   8. | 1945     11     15   15nov1945    -5160 |
//   9. | 1987      5     30   30may1987   6965h2 |
//  10. | 1991      4     28   28apr1991   7680h1 |
//      +-----------------------------------------+

format yw %dN-D-CY
list
//显示:月 日  年
//      +---------------------------------------------+
//      | A3_1   A3_2   A3_3        csrq           yw |
//      |---------------------------------------------|
//   1. | 1967      5      2   02may1967   05-02-1967 |
//   2. | 1945      8     22   22aug1945   08-22-1945 |
//   3. | 1949      3     14   14mar1949   03-14-1949 |
//   4. | 1986      6     16   16jun1986   06-16-1986 |
//   5. | 1958      3      6   06mar1958   03-06-1958 |
//      |---------------------------------------------|
//   6. | 1996     12      7   07dec1996   12-07-1996 |
//   7. | 1983     11     11   11nov1983   11-11-1983 |
//   8. | 1945     11     15   15nov1945   11-15-1945 |
//   9. | 1987      5     30   30may1987   05-30-1987 |
//  10. | 1991      4     28   28apr1991   04-28-1991 |
//      +---------------------------------------------+
format yw %dCY-N-D
list
//显示: 年 月  日
//     +---------------------------------------------+
//      | A3_1   A3_2   A3_3        csrq           yw |
//      |---------------------------------------------|
//   1. | 1967      5      2   02may1967   1967-05-02 |
//   2. | 1945      8     22   22aug1945   1945-08-22 |
//   3. | 1949      3     14   14mar1949   1949-03-14 |
//   4. | 1986      6     16   16jun1986   1986-06-16 |
//   5. | 1958      3      6   06mar1958   1958-03-06 |
//      |---------------------------------------------|
//   6. | 1996     12      7   07dec1996   1996-12-07 |
//   7. | 1983     11     11   11nov1983   1983-11-11 |
//   8. | 1945     11     15   15nov1945   1945-11-15 |
//   9. | 1987      5     30   30may1987   1987-05-30 |
//  10. | 1991      4     28   28apr1991   1991-04-28 |
//      +---------------------------------------------+

//下面是产生字符型日期形式的数据     
gen csrq1=string(A3_1)+"-"+string(A3_2)+"-"+string(A3_3)
list
//     +----------------------------------------------------------+
//      | A3_1   A3_2   A3_3        csrq           yw        csrq1 |
//      |----------------------------------------------------------|
//   1. | 1967      5      2   02may1967   1967-05-02     1967-5-2 |
//   2. | 1945      8     22   22aug1945   1945-08-22    1945-8-22 |
//   3. | 1949      3     14   14mar1949   1949-03-14    1949-3-14 |
//   4. | 1986      6     16   16jun1986   1986-06-16    1986-6-16 |
//   5. | 1958      3      6   06mar1958   1958-03-06     1958-3-6 |
//      |----------------------------------------------------------|
//   6. | 1996     12      7   07dec1996   1996-12-07    1996-12-7 |
//   7. | 1983     11     11   11nov1983   1983-11-11   1983-11-11 |
//   8. | 1945     11     15   15nov1945   1945-11-15   1945-11-15 |
//   9. | 1987      5     30   30may1987   1987-05-30    1987-5-30 |
//  10. | 1991      4     28   28apr1991   1991-04-28    1991-4-28 |
//      +----------------------------------------------------------+

//下面是产生字符型日期形式的数据,月日都占两位,不足的左边补0
gen csrq2=string(A3_1)+"-"+substr("00"+string(A3_2),-2,2)+"-"+substr("00"+string(A3_3),-2,2)
list
//     +-----------------------------------------------------------------------+
//      | A3_1   A3_2   A3_3        csrq           yw        csrq1        csrq2 |
//      |-----------------------------------------------------------------------|
//   1. | 1967      5      2   02may1967   1967-05-02     1967-5-2   1967-05-02 |
//   2. | 1945      8     22   22aug1945   1945-08-22    1945-8-22   1945-08-22 |
//   3. | 1949      3     14   14mar1949   1949-03-14    1949-3-14   1949-03-14 |
//   4. | 1986      6     16   16jun1986   1986-06-16    1986-6-16   1986-06-16 |
//   5. | 1958      3      6   06mar1958   1958-03-06     1958-3-6   1958-03-06 |
//      |-----------------------------------------------------------------------|
//   6. | 1996     12      7   07dec1996   1996-12-07    1996-12-7   1996-12-07 |
//   7. | 1983     11     11   11nov1983   1983-11-11   1983-11-11   1983-11-11 |
//   8. | 1945     11     15   15nov1945   1945-11-15   1945-11-15   1945-11-15 |
//   9. | 1987      5     30   30may1987   1987-05-30    1987-5-30   1987-05-30 |
//  10. | 1991      4     28   28apr1991   1991-04-28    1991-4-28   1991-04-28 |
//      +-----------------------------------------------------------------------+