سؤال

وكيف يمكنني تحويل تاريخ SAS مثل "30JUL2009"d في شكل YYYYMMDD (مثل 20090730)؟

وهكذا على سبيل المثال:

data _null_;
  format test ?????;
  test=today();
  put test=;
run;

هل تعطيني "اختبار = 20090730" في سجل ...

هل كانت مفيدة؟

المحلول

data _null_;
    format test yymmddn8.;
    test=today();
    put test=;
run;

YYMMDDxw. وثائق

نصائح أخرى

%let expectdate1=%sysfunc(putn(%eval(%sysfunc(today())-1),yymmddn8.));

وترغب في استخدام تنسيق yymmddn8. وسائل 'ن' <م> لا فاصل .

http://support.sas.com/kb/24/610.html يمكنك تحديد B لفارغا، C لالقولون، D للشرطة، N بدون فاصل، P لفترة، أو S لمائلة.

وهنا كيف فعلت ذلك في الكلي، ولكن بالتأكيد يجب أن يكون هناك تنسيق ؟؟ !!!

%let today=%sysfunc(compress(%sysfunc(today(),yymmddd10.),'-'));

وعلى غريب - وyymmdd8 INFORMAT. يعطي نتيجة YYYYMMDD، في حين أن yymmdd8 FORMAT. يعطي نتيجة YY-MM-DD !!

وهناك هذا واحد التي ينبغي أن تفعل خدعة جدا

%let today=%sysfunc(today(),yymmddn8.);
%put &today.;

كل شيء على الرابط أدناه

https://communities.sas.com/thread/60111

ويمكنك ان ترى كل تنسيقات التاريخ والوقت في علامة التبويب تعليمات عند إدخال "التاريخ" إلى علامة التبويب فهرس، ثم حدد "تنسيقات التاريخ والوقت '

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top