PHP中的日期时间处理利器实例

 更新时间:2017年7月6日 23:34  点击:2034
本篇文章为大家介绍了PHP中的日期时间处理利器实例(Carbon),很有一定的参考价值,有需要的朋友就来看一看吧。

 

Carbon介绍

Carbon是PHP中很人性化的时间日期处理插件,github拥有接近5000个 star。

github地址为:https://github.com/briannesbitt/Carbon

Carbon基本用法

 

 代码如下复制代码

//1、基本应用

$now= Carbon::now();         //2016-11-03 14:13:16

$today= Carbon::today();       //2016-11-03 00:00:00

$tomorrow= Carbon::tomorrow();    //2016-11-04 00:00:00

$yesterday= Carbon::yesterday();   //2016-11-02 00:00:00

 

//2、判断是否是某一天(2016-11-03(周四)举例)

$now= Carbon::now();

var_dump($now->isWeekend());//false 因为周四不是周末

var_dump($now->isWeekday());//true 因为周四是工作日

var_dump($now->isThursday());//true 因为今天是周四

$now->isToday();

$now->isTomorrow();

$now->isFuture();

$now->isPast();

 

//3、创建某一天的carbon对象并且进行加减计算

$date= Carbon::create(2016, 12, 25, 0, 0, 0);//2016-12-25 00:00:00

$next_year=$date->addYears(2);//2018-12-25 00:00:00

$past_year=$date->subYears(2);//2014-12-25 00:00:00

$next_month=$date->addMonths(2);//2017-02-25 00:00:00

$past_month=$date->subMonths(2);//2016-10-25 00:00:00

$next_day=$date->addDays(2);//2016-12-27 00:00:00

$past_day=$date->subDays(2);//2016-12-23 00:00:00

...更有addWeekdays()、addWeeks()、addHours()等方法

 

//4、将carbon对象转换成string类型

$dt= Carbon::create(1975, 12, 25, 14, 15, 16);

echo$dt->toDateString();            // 1975-12-25

echo$dt->toFormattedDateString();        // Dec 25, 1975

echo$dt->toTimeString();            // 14:15:16

echo$dt->toDateTimeString();          // 1975-12-25 14:15:16

echo$dt->toDayDateTimeString();         // Thu, Dec 25, 1975 2:15 PM

 

上面介绍的是一些基本的Carbon使用。Carbon最大的特点就是灵活、人性化。

以上就是本文的全部内容,希望对大家的学习有所帮助。

原文链接:https://segmentfault.com/a/1190000007370334

 

 

本篇文章为大家介绍了PHP利用ffmpeg提取视频中音频与视频画面的相关资料,很有参考价值,一起来看一看吧。

 

前言

FFmpeg的名称来自MPEG视频编码标准,前面的“FF”代表“Fast Forward”,FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可以轻易地实现多种视频格式之间的相互转换。

FFmpeg的用户有Google,Facebook,Youtube,优酷,爱奇艺,土豆等。

组成

       1、libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能,包含demuxers和muxer库;

       2、libavcodec:用于各种类型声音/图像编解码;

       3、libavutil:包含一些公共的工具函数;

       4、libswscale:用于视频场景比例缩放、色彩映射转换;

       5、libpostproc:用于后期效果处理;

       6、ffmpeg:是一个命令行工具,用来对视频文件转换格式,也支持对电视卡实时编码;

       7、ffsever:是一个HTTP多媒体实时广播流服务器,支持时光平移;

       8、ffplay:是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;

提取视频中音频与视频画面

想要提取视频中的音频信息,首选的技术是ffmpeg,网上的绝大多数ffmpeg使用教程都是:

比如你的文件是 test.mp4

分离视频出来:ffmpeg -i test.mp4 -vcodec copy -an 视频流.avi

分离音频出来:ffmpeg -i test.mp4 -acodec copy -vn 音频流.mp3

用这样的方法,提取视频是没有问题的。但在提取音频时,我遇到了以下错误:

 代码如下复制代码
Invalid  audio stream. Exactly one MP3 audio stream is required. could not write  header for output file #0 (incorrect codec parameters ) invalid  argument

其实,简单地提取音视频并不需要这么复杂,只要执行以下两行就行了:

分离视频出来:ffmpeg -i test.mp4 视频流.avi

分离音频出来:ffmpeg -i test.mp4 音频流.mp3

本篇文章为大家介绍了,在laravel 5.1下php artisan migrate的使用注意事项,很有一定的参考价值的,一起来看一看吧。

PHP artisan migrate命令是laravel十分重要的问题,但在使用时需要注意几个情况:

(1)在migration文件夹下创建一张新的表,要使用php artisan make:migration语句

php artisan已经拥有强大的功能,就不要自己新建一个表

(2)composer dump-autoload的使用

composer   dump-autoload是用来更新vendor/composer/autoload_classmap.php文件的,这个文件有许多配置,使用php  artisan命令时就是事先调用这个文件。在新添加一张表时,先执行这个命令,在使用migrate。在删除一张表示,先使用migrate:rollback,再使用composer,在删除文件。

执行这条语句将修改laravel框架内vendor/composer/文件夹下的所有文件

(3)安装composer

有可能使用composer时显示命令不存在,这时就要安装composer。

 

 代码如下复制代码

php -r"readfile('https://getcomposer.org/installer');"> composer-setup.php

 

php composer-setup.php

 

php -r"unlink('composer-setup.php');"

 

执行第一条命令下载下来的 composer-setup.php 脚本将简单的检测 php.ini 中的参数设置,如果某些参数未正确设置则会给出警告;然后下载最新版本的composer.phar    文件到当前目录。

上述 3 条命令的作用依次是:

  • 下载安装脚本(composer-setup.php)到当前目录。

  • 执行安装过程。

  • 删除安装脚本 -- composer-setup.php 。

全局安装是将 Composer 安装到系统环境变量 PATH 所包含的路径下面,然后就能够在命令行窗口中直接执行 composer 命令了。

Mac 或 Linux 系统:打开命令行窗口并执行如下命令将前面下载的 composer.phar 文件移动到/usr/local/bin/ 目录下面:

 代码如下复制代码
sudomvcomposer.phar/usr/local/bin/composer
选择法也算是入门的一种排序算法,它的方法十分巧妙,下面我们就来为大家介绍一下Python实现选择排序的方法,有需要的可以来参考一下。

选择排序:

选择排序(Selection sort)是一种简单直观的 排序算法  。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。

Python 实现:

 

 代码如下复制代码

# selection_sort.py

defselection_sort(arr):

  count=len(arr)

  foriinrange(count-1): # 交换 n-1 次

    min=i

    # 找最小数

    forjinrange(i, count):

      ifarr[min] > arr[j]:

        min=j

    arr[min], arr[i]=arr[i], arr[min] # 交换

  returnarr

 

my_list=[6,23,2,54,12,6,8,100]

print(selection_sort(my_list))

 

原文链接:http://www.cnblogs.com/tingshuo123/p/6935445.html

[!--infotagslink--]

相关文章

  • 在java中获取List集合中最大的日期时间操作

    这篇文章主要介绍了在java中获取List集合中最大的日期时间操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-15
  • Windows批量搜索并复制/剪切文件的批处理程序实例

    这篇文章主要介绍了Windows批量搜索并复制/剪切文件的批处理程序实例,需要的朋友可以参考下...2020-06-30
  • BAT批处理判断服务是否正常运行的方法(批处理命令综合应用)

    批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。这篇文章主要介绍了BAT批处理判断服务是否正常运行(批处理命令综合应用),需要的朋友可以参考下...2020-06-30
  • JS日期加减,日期运算代码

    一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
  • php计算两个日期相差天数的方法

    本文实例讲述了php计算两个日期相差天数的方法。...2015-03-15
  • PHP file_get_contents设置超时处理方法

    file_get_contents的超时处理话说,从PHP5开始,file_get_content已经支持context了(手册上写着:5.0.0 Added the context support. ),也就是说,从5.0开始,file_get_contents其实也可以POST数据。今天说的这篇是讲超时的,确实在...2013-10-04
  • PostgreSQL 字符串处理与日期处理操作

    这篇文章主要介绍了PostgreSQL 字符串处理与日期处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-01
  • C#多线程中的异常处理操作示例

    这篇文章主要介绍了C#多线程中的异常处理操作,涉及C#多线程及异常的捕获、处理等相关操作技巧,需要的朋友可以参考下...2020-06-25
  • 常用的日期时间正则表达式

    常用的日期时间正则表达式 下面收藏了大量的日期时间正则匹配函数,包括分钟,时间与秒都能达到。 正则表达式 (?n:^(?=d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(...2016-11-25
  • 非常全面的php日期时间运算汇总

    实例讲解之前,先来介绍几个核心函数: mktime 函数 mktime() 函数返回一个日期的 Unix 时间戳。 参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。 参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。...2015-11-08
  • vue开发之moment的介绍与使用

    moment是一款多语言支持的日期处理类库, 在vue中如何使用呢?这篇文章主要给大家介绍了关于vue之moment使用的相关资料,需要的朋友可以参考下...2021-05-13
  • C#实现将字符串转换成日期格式的方法

    这篇文章主要介绍了C#实现将字符串转换成日期格式的方法,涉及C#操作时间及字符串的相关技巧,非常简单实用,需要的朋友可以参考下...2020-06-25
  • postgresql 中的时间处理小技巧(推荐)

    这篇文章主要介绍了postgresql 中的时间处理小技巧(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-29
  • Python同时处理多个异常的方法

    这篇文章主要介绍了Python同时处理多个异常的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-29
  • php根据日期或时间戳获取星座信息和生肖等信息

    分享一个利用php根据日期或时间戳获取相应的干支纪年,生肖和星座信息的函数方法,具体函数代码以及使用方法如下: /** 判断干支、生肖和星座 */ function birthext($birth){ if(strstr($birth,'-')===false&&strlen($bi...2015-10-21
  • C#异常处理中try和catch语句及finally语句的用法示例

    这篇文章主要介绍了C#异常处理中try和catch语句及finally语句的用法示例,finally语句的使用涉及到了C#的垃圾回收特性,需要的朋友可以参考下...2020-06-25
  • PowerShell中使用Get-Date获取日期时间并格式化输出的例子

    这篇文章主要介绍了PowerShell中使用Get-Date获取日期时间并格式化输出的例子,本文讲解了直接调用Get-Date、在Write-Host中使用Get-Date、格式化输出的方法,需要的朋友可以参考下...2020-06-30
  • python用moviepy对视频进行简单的处理

    这篇文章主要介绍了python如何用moviepy对视频进行简单的处理,帮助大家更好的利用python处理视频,感兴趣的朋友可以了解下...2021-03-11
  • java8时间 yyyyMMddHHmmss格式转为日期的代码

    这篇文章主要介绍了java8时间 yyyyMMddHHmmss格式转为日期的代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-17
  • C#异常处理详解

    这篇文章介绍了C#异常处理,有需要的朋友可以参考一下...2020-06-25