PHP 周转换为日期(最后一天) date("o-W")转Y-m-d日期——贴上代码

//o-W week 转换为普通日期 周的最后一天
    public function weekToDate($oW){
        $oW = explode("-", $oW);    //拆分o-W周 为年和周数
        $year = $oW[0]; //年
        $week = $oW[1]; //周数
        $weekYearBegin = date("w",strtotime($year."-01-01"));   //年初1月1是星期几,0-6,0是周日,1-6是周一到周六
        $WYearBegin = date("W",strtotime($year."-01-01"));  //年初1月1是第几周,可能是该年第一周:01,也可能是上年最后一周:52
        if($WYearBegin == "01"){    //该年的第一周
            $days = (7-$weekYearBegin)%7 + (int)($week-$WYearBegin)*7;  //需要计算的周的最后一天(星期天),距离年初1月1有多少天
        }else{  //上年的最后一周
            $days = (7-$weekYearBegin)%7 + (int)($week)*7;  ////需要计算的周的最后一天(星期天),距离年初1月1有多少天
        }
        $lastDayOfW = date("Y-m-d",strtotime($year."-01-01 +".$days." days"));  //因为是求最后一天(星期天),所以一定落在该年($year),或者下一年,而不会落在上一年 用$year +n days
        return $lastDayOfW;
    }

以上为整个代码实现,返回为所求date("o-W")周的最后一天(周日)的日期 date("Y-m-d")

时间: 2024-07-29 16:35:37

PHP 周转换为日期(最后一天) date("o-W")转Y-m-d日期——贴上代码的相关文章

JavaScript基础——引用类型(二)日期类型Date、正则表达式类型RegExp

Date类型 ECMAScript中的Date类型是在早期Java中的java.util.Date类基础上构建的.为此,Date类型使用自UTC(CoordinatedUniversal Time,国际协调时间)1970年1月1日午夜(零时)开始经过的毫秒数来保存日期.在使用这种数据存储格式的条件下,Date类型保存的日期能够精确到1970年1月1日之前或之后的285 616年. 要创建一个日期对象,使用new 操作符和Date构造函数即可,如: var now = new Date(); 在调

将某个日期字符串转换为java.sql.Date的类型

import java.text.ParseException; import java.text.SimpleDateFormat; public class date { /** * @param args * @throws ParseException */ public static void main(String[] args) throws ParseException { String endDate=" 2014-09-10  "; System.out.print

Java日期格式化之将String类型的GMT,GST日期转换成Date类型

请尊重他人的劳动成果,转载请注明出处:Java日期格式化之将String类型的GMT,GST日期转换成Date类型 http://blog.csdn.net/fengyuzhengfan/article/details/40164721 在实际开发过程中经常会需要将Date类型的数据封装成XML或Json格式在网络上进行传输,另外在将Date类型的数据存到Sqlite数据库中后再取出来的时候只能获取String类型的日期了,这是因为SQLite是无类型的.这样不得不面对将String 类型的日期

javascript的日期对象Date操作时间日期值

创建一个日期对象: var objDate=new Date([arguments list]); 我总结了参数形式主要有以下3种: new Date("month dd yyyy hh:mm:ss");//后面的hh:mm:ss可选(不选的话就是默认的开始时间),而且前三项的顺序可以随意,甚至各字段后面可以加逗号 new Date(yyyy,mth,dd,hh,mm,ss); //除了前两个字段(年.月字段)外,其余的都是可选的(不选的话就默认为开始的),不过,此处顺序最好别随意变换

Java 日期时间 Date类型,long类型,String类型表现形式的转换 (转)

Java 日期时间 Date类型,long类型,String类型表现形式的转换 1.java.util.Date类型转换成long类型java.util.Date dt = new Date();System.out.println(dt.toString());   //java.util.Date的含义long lSysTime1 = dt.getTime() / 1000;   //得到秒数,Date类型的getTime()返回毫秒数 2.由long类型转换成Date类型SimpleDat

时间日期处理date,Calendar类

1.         Date类(该类现在很少用了) l         Date类对象的创建: n         创建一个当前时间 //默认是创建一个代表系统当前日期的Date对象 Date d = new Date(); n         创建一个我们指定的时间的Date对象: 下面是使用带参数的构造方法,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值. //创建一个代表2009年6月12号的Date对象 D

Java 日期时间 Date类型,long类型,String类型表现形式的转换

1.java.util.Date类型转换成long类型java.util.Date dt = new Date();System.out.println(dt.toString());   //java.util.Date的含义long lSysTime1 = dt.getTime() / 1000;   //得到秒数,Date类型的getTime()返回毫秒数 2.由long类型转换成Date类型SimpleDateFormat sdf= new SimpleDateFormat("MM/dd

根据周几计算出月份总年中所有此日的日期值

/// <summary> /// 根据年月获取所有周几 /// </summary> /// <param name="y">年</param> /// <param name="m">月份字符串</param> /// <param name="week">周几字符串(0:—....6:日)</param> /// <returns>时

mysql-查询一天,一周,一月,一年,以及mysql的基本日期函数

查询一天: select * from table where to_days(column_time) = to_days(now()); select * from table where date(column_time) = curdate(); 查询一周: select * from table where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(column_time); 查询一个月: select * from table where