分享

shell中的日期格式化

 ylzrx 2012-06-12

shell中的日期格式化

(2010-08-04 14:44:23)
标签:

影视

of

day

with

name

it

分类: 工作笔记
在很多时候,日期格式化的问题都会存在的,现在作一个总结,并不断更新:
  目前本文中包含的有:
unix/linux下shell中的日期格式化
JSP网页中的日期格式化(包括取系统当前日期和当前日期前后N天的日期)

unix/linux下shell中的日期格式化问题:
 例子(test.sh):       #!/bin/sh
                                              echo "现在时间:`date '+%Y%m%d %T'`"

                                       输出:现在时间:20070629 08:53:22
解析:date返回当前时间
,'+%Y%m%d %T'控制时间格式,每个参数都有特定的意义,下面是各种参数

         %%       a literal %
         %a       locale's abbreviated weekday name (Sun..Sat)
         %A       locale's full weekday name, variable length (Sunday..Saturday)
         %b       locale's abbreviated month name (Jan..Dec)
         %B       locale's full month name, variable length (January..December)
         %c       locale's date and time (Sat Nov 04 12:02:33 EST 1989)
         %C       century    (year    divided    by    100    and    truncated    to an integer) [00-99]
         %d       day of month (01..31)
         %D       date (mm/dd/yy)
         %e       day of month, blank padded ( 1..31)
         %F       same as %Y-%m-%d
         %g       the 2-digit year corresponding to the %V week number
         %G       the 4-digit year corresponding to the %V week number
         %h       same as %b
         %H       hour (00..23)
         %I       hour (01..12)
         %j       day of year (001..366)
         %k       hour ( 0..23)
         %l       hour ( 1..12)
         %m       month (01..12)
         %M       minute (00..59)
         %n       a newline
         %N       nanoseconds (000000000..999999999)
         %p       locale's upper case AM or PM indicator (blank in many locales)
         %P       locale's lower case am or pm indicator (blank in many locales)
         %r       time, 12-hour (hh:mm:ss [AP]M)
         %R       time, 24-hour (hh:mm)
         %s       seconds since `00:00:00 1970-01-01 UTC' (a GNU extension)
         %S       second (00..60); the 60 is necessary to accommodate a leap    sec-ond
         %t       a horizontal tab
         %T       time, 24-hour (hh:mm:ss)
         %u       day of week (1..7);    1 represents Monday
         %U       week number of year with Sunday as first day of week (00..53)
         %V       week number of year with Monday as first day of week (01..53)
         %w       day of week (0..6);    0 represents Sunday
         %W       week number of year with Monday as first day of week (00..53)
         %x       locale's date representation (mm/dd/yy)
         %X       locale's time representation (%H:%M:%S)
         %y       last two digits of year (00..99)
         %Y       year (1970...)
         %z       RFC-822 style numeric timezone (-0500) (a nonstandard extension)
         %Z       time zone (e.g., EDT), or nothing if    no    time    zone    is    deter-minable
         By    default, date pads numeric fields with zeroes.    GNU date recognizes
         the following modifiers between `%' and a numeric directive.
                `-' (hyphen) do not pad the field `_' (underscore) pad the field
                with spaces

JSP网页中的日期格式化(包括取系统当前日期和当前日期前后N天的日期)
<%
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyyMMdd");
java.util.Date currentTime = new java.util.Date();//得到当前系统时间
String str_date1 = formatter.format(currentTime); //将日期时间格式化
String str_date2 = currentTime.toString(); //将Date型日期时间转换成字符串形式
out.print(str_date1+"<br>");
out.print(str_date2+"<br>");
%>
上面是取当前日期,很方便,如果想取当前日期前后几天的日期,可以用下面的方法
<%!
//这儿是一个函数,包含格式控制参数和偏移天数参数

public String getTime(String formats,int days){
Calendar cd=Calendar.getInstance();
boolean flag=(days>0);
for(int i=1;i<=Math.abs(days);i++){
   cd.roll(Calendar.DATE,flag);
}
return new java.text.SimpleDateFormat("yyyyMMdd").format(cd.getTime());
}
%>
<%
String rq=getTime("yyyyMMdd",1);
out.print(rq);
%>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多