
//#include "stdafxh"//If the vc++60, with this line
#include "stdioh"
#include "stdlibh"
#include "timeh"
int main(void){
struct tm ptr;
time_t t;
int s=0,x;
while(1){
t=time(NULL);
ptr=localtime(&t);
if((x=ptr->tm_sec)!=s){
system("cls");
printf(asctime(ptr));
s=x;
}
}
return 0;
}
因为工作需要需要获取上个月、下个月、本月的日期,特从网站找到了实现代码,特分享下,方便需要的朋友
今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一下的,但是一想肯定还有什么超方便的方法,于是找到了下面这个版本,做了一点小修改。
获取本月日期:
代码如下:
function
getMonth($date){
$firstday
=
date("Y-m-01",strtotime($date));
$lastday
=
date("Y-m-d",strtotime("$firstday
+1
month
-1
day"));
return
array($firstday,$lastday);
}
$firstday是月份的第一天,假如$date是2014-2这样的话,$firstday就会是2014-02-01,然后根据$firstday加一个月就是2014-03-01,再减一天就是2014-02-28,用date()和strtotime()真是太方便了。
获取上月日期:
代码如下:
function
getlastMonthDays($date){
$timestamp=strtotime($date);
$firstday=date('Y-m-01',strtotime(date('Y',$timestamp)'-'(date('m',$timestamp)-1)'-01'));
$lastday=date('Y-m-d',strtotime("$firstday
+1
month
-1
day"));
return
array($firstday,$lastday);
}
上月日期需要先获取一个时间戳,然后在月份上-1就OK了,超智能的date()会把2014-0-1这种东西转换成2013-12-01,太爽了。
获取下月日期:
代码如下:
function
getNextMonthDays($date){
$timestamp=strtotime($date);
$arr=getdate($timestamp);
if($arr['mon']
==
12){
$year=$arr['year']
+1;
$month=$arr['mon']
-11;
$firstday=$year'-0'$month'-01';
$lastday=date('Y-m-d',strtotime("$firstday
+1
month
-1
day"));
}else{
$firstday=date('Y-m-01',strtotime(date('Y',$timestamp)'-'(date('m',$timestamp)+1)'-01'));
$lastday=date('Y-m-d',strtotime("$firstday
+1
month
-1
day"));
}
return
array($firstday,$lastday);
}
下月日期的代码看起来比较长一点,因为date()转不了类似2014-13-01这种东西,它会直接回到1970,所以前面需要处理一下12月的问题,除了12月就直接月份+1就OK啦。
总得来说,还是很方便的,日期函数太强大了。
获取月(两位):select to_char(sysdate,'mm') from dual
那你就把指定的日期to_date()成date,如下:
select to_char(to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss'),'mm') from dual
以上就是关于c#怎么获取月份全部的内容,包括:c#怎么获取月份、PHP下获取上个月、下个月、本月的日期、oracle怎么根据日期或者第几周获取月份等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)