lee/carbon-sas-date

Carbon的SAS日期格式助手

v1.0 2020-02-18 18:12 UTC

This package is auto-updated.

Last update: 2024-09-19 12:50:46 UTC


README

Build Status Coverage Status StyleCI

介绍

  • SAS是一种编程语言,它有自己的日期处理方法。
  • 这是一个辅助工具,用于将给定的SAS日期/年份/时间格式转换为Carbon日期格式。
  • 它还可以直接使用SAS日期格式来创建一个Carbon实例。

安装

使用composer安装此包

composer require lee/carbon-sas-date:^1.0

注意

某些SAS日期格式无法找到当前映射的Carbon日期格式。

当在CarbonSasHelper::createDateFromFormat、CarbonSasHelper::createTimeFromFormat或CarbonSasHelper::createYearFromFormat方法中使用这些SAS日期/年份/时间格式时,将抛出InvalidArgumentException异常。

使用方法

通过CarbonSasHelper类从SAS日期格式创建

use Lee\CarbonSasHelper;

$sasDateFormat = 'DDMMYY.';
$sasDate = '17/03/13';

$carbonSasHelper = CarbonSasHelper::createDateFromFormat($sasDateFormat, $sasDate); // Carbon class instance

$carbonSasHelper->format('d/m/y'); // '17/03/13'

实际案例

在实际案例中,有时会遇到以下SAS日期时间格式

06FEB2020:00:00:00.000000

它具有SAS日期和时间格式。SAS日期为06FEB2020,格式为DATE9.

然后的示例代码是

use Lee\CarbonSasHelper;

$sasDateFormat = 'DATE9.';
$sasDate = '06FEB2020';
$carbonSasHelper = CarbonSasHelper::createDateFromFormat($sasDateFormat, $sasDate); // Carbon class instance

$carbonSasHelper->format('dMY:00:00:00.000000'); // '06Feb2020:00:00:00.000000'

特殊情况

某些SAS日期与Carbon日期不同。已知情况如下

use Lee\CarbonSasHelper;

$sasDateFormat = 'DATE.';
$sasDate = '17MAR13';
$carbonSasHelper = CarbonSasHelper::createDateFromFormat($sasDateFormat, $sasDate); // Carbon class instance

$carbonSasHelper->format('dMy'); // '17Mar13'


$sasDateFormat = 'DATE9.';
$sasDate = '17MAR2013';
$carbonSasHelper = CarbonSasHelper::createDateFromFormat($sasDateFormat, $sasDate); // Carbon class instance

$carbonSasHelper->format('dMY'); // '17Mar2013'


$sasDateFormat = 'MONYY.';
$sasDate = 'MAR13';
$carbonSasHelper = CarbonSasHelper::createDateFromFormat($sasDateFormat, $sasDate); // Carbon class instance

$carbonSasHelper->format('My'); // 'Mar13'

$sasYearFormat = 'YYMON.';
$sasDate = '2013MAR';
$carbonSasHelper = CarbonSasHelper::createDateFromFormat($sasDateFormat, $sasDate); // Carbon class instance

$carbonSasHelper->format('YM'); // '2013Mar'

参考资料

SAS日期文档