carbon

日期及时间处理包 Carbon 在 Laravel 中的简单使用

前提是你 提交于 2020-03-01 10:08:47
在编写 PHP 应用时经常需要处理日期和时间,这篇文章带你了解一下 Carbon – 继承自 PHP DateTime 类的 API 扩展,它使得处理日期和时间更加简单。Laravel 中默认使用的时间处理类就是 Carbon。 1 安装 通过 Composer 来安装 Carbon: PS:由于 Laravel 项目已默认安装了此包,所以不需要再次执行上面的命令。 2 使用 你需要通过命名空间导入 Carbon 来使用,而不需每次都提供完整的名称。 2.1 获取当前时间 可以同 now() 方法获取当前的日期和时间。如果你不指定参数,它会使用 PHP 配置中的时区: 如果你想使用一个不同的时区,你需要传递一个 有效的时区 作为参数: 除 now() 外,还提供了 today() 、 tomorrow() 、 yesterday() 等静态函数,不过,它们的时间都是 00:00:00 : 以上输出结果其实是一个 Carbon 类型的日期时间对象: 要想获取字符串类型的日期,可以使用下面的代码: 2.2 日期类型转为字符串 如上所述,默认情况下,Carbon 的方法返回的为一个日期时间对象。虽然它是一个对象,但是你却可以直接使用 echo 输出结果,因为有 __toString 魔术方法。但是如果你想把它转为字符串,可以使用 toDateString 或

JUC之线程池

老子叫甜甜 提交于 2020-02-27 13:59:35
自己搞个线程池 看了mayikt之后很有feel,搞一波,顺便用好看的carbon插件来生成代码图片 解决啥问题 要实现多线程,就要实现Runnable、或者继承Thread,重写run方法并且调用start来启动线程,完了还要销毁,频繁的创建销毁浪费资源,所以就先跑几个线程,让有限的线程来做多个线程的run。 思路 定义线程池 coreSize 核心线程个数:只有coreSize个的线程在跑 maxSize 最大线程个数:初始化BlockingDeque时使用,调用offer方法时,如果超过这个数量就无法再将线程加入线程池 BlockingDeque<Runnable……> queue:存储传进来的线程 运行状态标识位:控制线程池是否关闭 内部类 Worker:线程池中自己的线程,就是Work的run方法来实现传入线程的run方法。由于传入的参数是Runnable所以要调run方法,完全可以是其他自定义的类但是实际执行的方法必须统一。 核心方法 构造函数:接受coreSize、maxSize,初始化maxSize长度的BlockingDeque、创建coreSize个数的Worker 增加线程:往队列里丢线程,这里用offer方法,如果超出长度,会阻塞。 停止线程:修改标志位 测试一把 定义一个实际的线程来模拟 三个(coreSize)核心工作线程,最多能屯十个(maxSize

04hive查询

∥☆過路亽.° 提交于 2020-01-26 11:51:36
详细文档查看: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Select 一. 基本查询(SELECT …FROM) 1. 全表和特定列查询 select * from emp; select empno, ename from emp; 注意: (1)SQL 语言大小写不敏感。 (2)SQL 可以写在一行或者多行 (3)关键字不能被缩写也不能分行 (4)各子句一般要分行写。 (5)使用缩进提高语句的可读性 列别名:重命名一个列 ;便于计算 ;紧跟列名,也可以在列名和别名之间加入关键字‘AS’。 select ename AS name, deptno dn from emp; 2. 算术运算符 查询出所有员工的薪水后加 1 显示。 select sal +1 from emp; 3. 常用函数 1) 求总行数(count) hive (default)> select count(*) cnt from emp; 2) 求工资的最大值(max) hive (default)> select max(sal) max_sal from emp; 3) 求工资的最小值(min) hive (default)> select min(sal) min_sal from emp; 4) 求工资的总和

代码分享工具-Carbon和Polacode教程

ⅰ亾dé卋堺 提交于 2020-01-02 15:59:30
代码分享/截图工具教程 简介 对于开发者而言,无论是定期的成果汇报或者是教程演示文档,都有分享代码的必要,但是直接贴代码会显得不够美观,本文着重推荐两个代码截图分享工具,Carbon和Polacode,前者是一个代码海报分享工具,支持通过网页端制作精美的代码分享海报,同时支持很多文本编辑工具的插件如VS Code、Sublime等;后者是一个代码截图生成工具,可定制程度不高但是支持VS Code等主流编辑器的插件,很方便。 Carbon 访问Carbon的 官网链接 即可使用该工具,其主页如下图,可以在编辑框中编写或者粘贴代码,下图红框区域为设置栏,可以对输出的代码海报进行样式定制。 上图配置框中选项是代码高亮样式,根据自己的喜好更改即可;后一个选项为编程语言,如果自动检测出错,可以自己调整;再后面的颜色方框(设置图标左侧)为窗口背景色,默认灰色。 点击上图框的最右侧的设置按钮可以进行更多的配置,主要分为窗口配置和编辑器配置,最后的杂项主要是重置这两个配置。窗口配置可以修改如海报底色、阴影效果等,编辑器配置可以修改字体大小、行号显示等。 在这个配置框右侧的两个按钮Tweet和Export用于获得生成的代码分享截图,前者是直接分享到社交平台,后者则导出为文件,支持URL。PNG等格式。 这类工具一般不会太复杂,所以没有太多的配置难度,下图是显示行号的Python代码海报结果。 最后

IntelliJ IDEA 的 main方法,for循环,syso的快捷键

谁都会走 提交于 2019-12-11 11:30:44
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 今天偶然发现了IntelliJ中 创建main函数的快捷键,依次还有for循环,System.out.println(); 在编写代码的时候直接输入psv就会看到一个psvm的提示,此时点击tab键一个main方法就写好了。 main方法 : psvm 也就是public static void main的首字母。 for循环 依次还有在方法体内键入for会有一个fori的提示,选中然后tab键,就会自动创建一个for循环。 System.out.println() 如何像写一个System.out.println();就是sout 知道了这个规律,应该还有很多类似的用法。 更多的提示可以CTRL + j 可以查看,mac系统下是command+j 。 推荐插件: (1)HighlightBracketPair:自动化高亮显示光标所在代码块对应的括号,可以定制颜色和形状 (2)Rainbow Brackets:彩色显示所有括号,对单行嵌套括号有用 (3).ignore:生成各种ignore文件,一键创建git ignore文件的模板,免得自己去写 (4)Key promoter X :快捷键提示插件,每进行一个鼠标操作,会提示你对应的快捷键是啥 (5)lombok:支持lombok的各种注解

安装Collectd+Statsd + Graphite 监控openstack swift

ぃ、小莉子 提交于 2019-12-06 01:07:52
Graphite 安装必要软件包: $ sudo apt-get install apache2 libapache2-mod-wsgi python-django \ python-twisted python-cairo python-pip python-django-tagging 用 pip 安装 whisper (简单的存放和操作数据的库), carbon (监控数据的 Twisted 守护进程) 和 graphite-web (Django webapp): $ sudo pip install whisper $ sudo pip install carbon $ sudo pip install graphite-web 初始化配置,直接用 example 文件里的默认配置就可以: $ cd /opt/graphite/conf/ $ sudo cp carbon.conf.example carbon.conf $ sudo cp storage-schemas.conf.example storage-schemas.conf $ sudo cp graphite.wsgi.example graphite.wsgi 修改 apache 配置,增加一个 vhost 或者偷懒下载一个配置文件覆盖 default,覆盖后需要重新 reload 配置: $ wget

WSO2 as service on Windows

匿名 (未验证) 提交于 2019-12-03 09:52:54
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Need to install WSO2 API Manager as service on Windows (Have tried on Windows 7 and Windows Server 2012. The problem is the same). Documantation: https://docs.wso2.com/display/AM210/Installing+as+a+Windows+Service I am using yajsw. And when trying to run "runConsole.bat" for testing as it was said in the documatation I got such message/error: D:\WSO2\yajsw-stable-12.08\yajsw-stable-12.08\bat>call setenv.bat "java" -Xmx30m -Djna_tmpdir="D:\WSO2\yajsw-stable-12.08\yajsw-stable-12.08\bat\/../tmp" -Djava.net.preferIPv4Stack=true -jar "D:\WSO2

Failed to parse time string (2018-03-10 13:08:09.-708656) at position 24 (6): Unexpected character

匿名 (未验证) 提交于 2019-12-03 09:05:37
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I am getting this error sometimes then it goes away automatically. Unable to track why I am getting this error. And I think it get's fixed when the session expires. This is the error screen (1/1) Exception DateTime::__construct(): Failed to parse time string (2018-03-10 18:06:52.-955808) at position 24 (8): Unexpected character in Carbon.php (line 408) at DateTime->__construct('2018-03-10 18:06:52.-955808', object(DateTimeZone)) in Carbon.php (line 408) at Carbon->__construct('2018-03-10 18:06:52.-955808', null) in Carbon.php (line 457) at

Laravel/Carbon Timestamp 0000-00-00 00:00:00 or Unexpected data found. Unexpected data found. Data missing

匿名 (未验证) 提交于 2019-12-03 08:52:47
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have a timestamp in the DB and am trying to get the swine to save. I either get an issue where the MySQL timestamp is blank or I get an error. The format posted is UK standard. Posting data, I have tried some of the following: $user['crb_date'] = Carbon::createFromFormat('d/m/Y', $data['crb_date']); $user['crb_date'] = Carbon::createFromFormat('d/m/Y', $data['crb_date'])->toDateTimeString(); // Plus many other more std date(), strtodate() combos On my Model, I have custom getDates which will convert the dates to Carbon: public function