[英]What is this date format called and how do I parse it?
我正在解析的一些文件中有一個奇怪的日期格式。 這里有些例子:
1954203
2012320
2010270
前四位是年份,接下來的三位數是一年中的一天。 例如,第一個日期是1954年的第203天,即1954年7月22日。
我的問題是:
編輯:對不起,我忘了提到我的語言了。 PHP。
嘗試:
$oDate = DateTime::createFromFormat('Yz', 201026);
echo $oDate->format('Y-m-d');
對於Java,請參閱SimpleDateFormat 。 你想要yyyyDDD作為格式(年份,然后是一年中的一天)。
假設你在C#中將它作為一個字符串...
DateTime GetDate(string input)
{
int year = Int32.Parse(input.Substring(0,4));
int day = Int32.Parse(input.Substring(4,3));
return (new DateTime(year,1,1)).AddDays(day - 1);
}
(注意日期編號的-1偏移量,因為您已經在第1天開始)
用PHP格式化日期:
echo date_parse_from_format("Yz", $date);
你也可以使用
DateTime::createFromFormat("YZ", $date);
或者它的別名
date_create_from_format("Yz", $date)
它返回一個DateTime對象
原來我想要的是:
$date = '1954203';
$year = substr($date, 0, 4);
$day = substr($date, 4, 3);
$new_date = date("Y-m-d", mktime(1, 1, 1, 1, $day, $year));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.