GVKun编程网logo

PHP 日期处理函数 date() 、mktime()(php日期比较)

3

如果您对PHP日期处理函数date()、mktime()感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于PHP日期处理函数date()、mktime()的详细内容,我们还将为

如果您对PHP 日期处理函数 date() 、mktime()感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于PHP 日期处理函数 date() 、mktime()的详细内容,我们还将为您解答php日期比较的相关问题,并且为您提供关于C语言日期函数,日期处理函数、java.util.Date java.sql.Date java.util.Date,String,long 类型数据之间的转化、Json Date / Date(1389715867000)/在Java中转换为java.util.Date、mktime() [function.mktime]: It is not safe to rely on the systems timezone settings问题解决的有价值信息。

本文目录一览:

PHP 日期处理函数 date() 、mktime()(php日期比较)

PHP 日期处理函数 date() 、mktime()(php日期比较)

一、前言

php是世界上最好的语言!

二、介绍

mktime()函数获取当周\当天\当月

 1 /**
 2  * 微程-日期工具函数   week: 当周   day: 当天  month: 当月
 3  * @author 狗蛋儿
 4  * @createAt 2018/6/15
 5  * @note 备注: 无
 6  * @tip 提示: 无
 7  * @param string $identify
 8  * @return array [start => "开始时间", end => "结束时间"]
 9  */
10 function _makeTime($identify = ''day'')
11 {
12     switch (strtolower($identify))
13     {
14         case ''day'':
15             $time1 = mktime(0, 0, 0, date(''m''), date(''d''), date(''Y''));
16             $time2 = mktime(23, 59, 59, date(''m''), date(''d''), date(''Y''));
17             return [''start'' => $time1, ''end'' => $time2];
18         case ''week'':
19             $time1 = mktime(0, 0, 0, date(''m''), date(''d'')-date(''w'')+1, date(''Y''));
20             $time2 = mktime(23, 59, 59, date(''m''), date(''d'')-date(''w'')+7, date(''Y''));
21             return [''start'' => $time1, ''end'' => $time2];
22         default:
23             $time1 = mktime(0, 0, 0, date(''m''), 1, date(''Y''));
24             $time2 = mktime(23, 59, 59, date(''m''), date(''t''), date(''Y''));
25             return [''start'' => $time1, ''end'' => $time2];
26     }
27 }

date()函数获取日/周/年

$timeStamp = 1529156655;
echo date(''w'', $timeStamp);
//结果: 6  即: 周六
echo date(''m'', $timeStamp);
//结果:6 即: 6月
echo date(''d'', $timeStamp);
//结果: 16 即:16日

如果用date()函数获取当天的时间,则去掉第二参数即可; 例如: date(''w''), date(''now''), date(''m'')

C语言日期函数,日期处理函数

C语言日期函数,日期处理函数

定义一个表示日期的结构体类型,再分别定义函数完成下列功能:计算某一天是对应年的第几天,这一年一共多少天;计算两个日期之间相隔的天数。两个日期由键盘输入。

算法思想

设定结构体类型表示日期类型名为 Date,利用 typedef 将其定义为日期型类型名,有三个整型类型的成员分别表示年、月、日。

设定函数计算输入的日期是这一年的第几天。函数的形参为日期型变量,函数体中设定整型数组存放每个月的天数,二月份的天数为 28 天;设定函数判断年份是否为闰年以决定二月份的天数。根据输入的日期月份,在数组中将相应的月份天数求和,假日曰期即为天数。

设定函数完成两个日期的比较,比较形参 d 和 s 两个日期的大小。首先比较年,同年的比较月,同月的比较日。变量 start 保存输入的小的日期年份,end 保存输入日期大的年份,然后计算两个日期之间的天数。

程序由 6 个函数构成,yearday() 函数计算某年的天数,monthday() 函数计算某年二月份的天数,dayofyeaK() 函数计算某日期是某年的第几天,cmpdate() 函数比较两个日期的大小,interday() 函数计算两个日期之间的天数;dayofyear() 函数调用 monthday() 函数,interday() 函数调用 cmpdate() 函数、yearday() 函数、dayofyear() 函数;主函数调用 yearday() 函数、dayofyear() 函数、interday() 函数。

程序代码

#include <stdio.h>
#include <math.h>
typedef struct
{
    int year,month,day;
}Date;

int yearday(int year)
{
    int yday;
    if(year%4==0&&year%100!=0||year%400==0)
        yday=366;
    else
        yday=365;
    return yday;
}

int monthday(int year)
{
    int mday;
    if(year%4==0&&year%100!=0||year%400==0)
        mday=29;
    else
        mday=28;
    return mday;
}

int dayofyear(Date d)
{
    int i,total=0;
    int months[13]={0,31,28,30,31};
    months[2]=monthday(d.year);
    for(i=1;i<d.month;i++)
        total=total+months[i];
    total=total+d.day;
    return total;
}

int cmpdate(Date d,Date s)
{
    int result;
    if(d.year==s.year)
    {
        if(d.month==s.month)
        {
            if(d.day==s.day)
            result=0;
            else result=d.day-s.day;
        }
        else result=d.month-s.month;
    }
    else result=d.year-s.year;
    return result;
}

int interday(Date d,Date s)
{
    int result,te,ts,total;
    int year,start,end,day;
    int i;
    result=cmpdate(d,s);
    if(result>0)
    {
        start=s.year;
        end=d.year;
        te=dayofyear(d);
        ts=dayofyear(s);
    }
    else if(result<0)
    {
        start=d.year;
        end=s.year;
        ts=dayofyear(d);
        te=dayofyear(s);
    }
    else return 0;
    if(start==end)
        return abs(te-ts);
    else
    {
        total=0;
        for(i=start;i<=end;i++)
        {
            day=yearday(i);
            if(i==start)
                total=total+day-ts;
            else if(i==end)
                total=total+te;
            else
                total=total+day;
        }
    }
    return total;
}

int main()
{
    Date d1,d2;
    int y,n;
    printf("input date:");
    scanf("%d%d%d",&d1.year,&d1.month,&d1.day);
    scanf("%d%d%d",&d2.year,&d2.month,&d2.day);
    y=yearday(d1.year);
    n=dayofyear(d1);
    printf("%d days %d\n",d1.year,y);
    printf("%d-%d-%d is the %d day.\n",d1.month,d1.day,n);
    n=interday(d1,d2);
    printf("%d-%d-%d and %d-%d-%d distance ",d2.year,d2.month,d2.day);
    printf("%d days\n",n);
    return 0;
}

调试运行结果

输入 2009 年 2 月 1 日和 2015 年 2 月 1 日,程序运行结果如下所示:

input date:2009 2 1 2015 2 1
2009 days 365
2009-2-1 is the 32 day.
2009-2-1 and 2015-2-1 distance 2191 days

总结

结构体变量作为函数参数可以有以下两种形式。

① 结构体变量的成员作为函数的实参,则对应定义函数的形参为普通变量或数组。如实例程序代码中的“y=yearday(d1.year);”“months[2]=monthday(d.year);”两条语句,调用函数的实参分别为结构体变量 d1 和 d 的成员 year;对应的被调用函数 yearday()、monthday() 的形参都为 int year,是普通的整型变量。

② 函数的实参为结构体变量,则对应函数的形参应该也是结构体变量,其传递方式和普通变量一样,采用的是值传递方式。如程序代码中的 dayofyear()、cmpdate() 和 interday() 函数的形参均为结构体 Date 的变量,在程序调用时实参也为结构体 Date 的变量。

java.util.Date java.sql.Date java.util.Date,String,long 类型数据之间的转化

java.util.Date java.sql.Date java.util.Date,String,long 类型数据之间的转化

java.util.date :常用工具类

java.sql.date:存入sql数据库时,需要用到的类,其中java.util.date是java.sql.date的父类

 

问题列表:

1)java.sql.date 转化为 java.util.date

2)  java.util.date 转化为 java.sql.date

3) long ==》java.util.date

4) java.util.date ===>long

5) java.util.date ==>String

6) String ==java.util.date

7) java.util.date 之间的大小比较

 

1)java.sql.date 转化为 java.util.date

public Date SqlDateToUtDate(java.sql.Date sd){
    return new Date(sd.getTime());
}

2)  java.util.date 转化为 java.sql.date

public java.sql.Date UtDateToSqlDate(Date ud){
    return new java.sql.Date(ud.getTime());
}

3) long ==》java.util.date

long date= 14830682769461;

Date date1=new Date(date);

  

4) java.util.date ===>long

Date date = new Date();
long dateTime = date.getTime();

 

5) java.util.date ==>String

 

Date date = new Date();//获取当前时间

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

 String sDate=df.format(date);

 

6) String ==java.util.date

 

String sDate="2001.12.12-08.23.21";

  DateFormat df = new SimpleDateFormat("yyyy.MM.dd-HH.mm.ss"); 

  try {

 Date d = df.parse(dStr);


} catch (ParseException pe) {

 System.out.println(pe.getMessage());

}

 

 

 

7) java.util.date 之间的大小比较
/**
 验证是否超出有效期
* 没有超出 true
* 超出 false
*
* @param createTime 是一个开始时间
* @param valTime 是一个有效期时间 对于long类型数据 1秒 相当于 long型数据 1000;1分钟相当1000*60
* @return

  进行时间大小比较的时候,可以转化为long类型数据进行比较
*/
public boolean isBeyondTime(Date createTime, long valTime_l) {

// 获得当前时间的long
long date_l = System.currentTimeMillis();

long createTime_l = createTime.getTime();

if (date_l - createTime_l <= valTime_l) {
return true;
} else {
return false;
}
}
 



 

 

 

 

 

 

 

 

 

 

 

 

Json Date  / Date(1389715867000)/在Java中转换为java.util.Date

Json Date / Date(1389715867000)/在Java中转换为java.util.Date

我有一个日期字段的json请求,如下所示:
"PolicyEffectiveDate": "\/Date(1389715867000)/\"

我想将它解析成类型的Java对象java.util.Date 我如何做到这一点在JavaScript 日期在JavaScript
这里和 离子 在这里,但我需要这样做在java中。请帮忙。

答案1

小编典典

String policyEffective = …

long time = Long.parseLong(policyEffective.replaceFirst("^.*Date\\((\\d+)\\).*$", "$1"));Date date = new Date(time);

该数字很长,自1970左右以来一直是ms,因此直接进入Date构造函数。

结果:

Tue Jan 14 17:11:07 CET 2014

既然你有违法的论点;也许您选择了int或其他方法。

mktime() [function.mktime]: It is not safe to rely on the systems timezone settings问题解决

mktime() [function.mktime]: It is not safe to rely on the systems timezone settings问题解决

部署php代码时遇到问题如下:

Strict Standards: date_default_timezone_get() [function.date-default-timezone-get]: It is not safe to rely on the system''s timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ''UTC'' for ''8.0/no DST'' instead in C:\AppServ\www\nipin\configs\config.php on line 25
Strict Standards: mktime() [function.mktime]: It is not safe to rely on the system''s timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ''UTC'' for ''8.0/no DST'' instead in C:\AppServ\www\nipin\configs\config.php on line 25
Strict Standards: mktime() [function.mktime]: You should be using the time() function instead in C:\AppServ\www\nipin\configs\config.php on line 25

原因是php取得格林威治时间和北京的时间相差8个小时,应该取北京的时间。

原来上面报错,主要体现在一句话上:

$getime = date_default_timezone_get()==''UTC'' ? mktime()+28800 : mktime();

解决方法有二:

1,是直接增加这句话取代上面这句,date_default_timezone_set("PRC");直接设置为背景时间。

2,在php.ini文件里,设置:;date.timezone = Asia/Shanghai 或者 date.timezone=PRC

以上就介绍了mktime() [function.mktime]: It is not safe to rely on the systems timezone settings问题解决,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

关于PHP 日期处理函数 date() 、mktime()php日期比较的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于C语言日期函数,日期处理函数、java.util.Date java.sql.Date java.util.Date,String,long 类型数据之间的转化、Json Date / Date(1389715867000)/在Java中转换为java.util.Date、mktime() [function.mktime]: It is not safe to rely on the systems timezone settings问题解决等相关知识的信息别忘了在本站进行查找喔。

本文标签: