teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

5

自力でCarbonインスタンス作成する手法に変更。

2018/01/16 00:19

投稿

masaya_ohashi
masaya_ohashi

スコア9210

answer CHANGED
@@ -2,10 +2,12 @@
2
2
 
3
3
  ```PHP
4
4
  // 番号をid、作業日をwork_at、送信日をsend_atと仮定する
5
- // DBから取り出したdatetime型等Carbonという便利なクラスになっいるのでtoDateTimeStringを使って欲しい文字列に変換する
5
+ // DBから取り出したdatetime型等Carbonという便利なクラスに変換しtoDateTimeStringを使って欲しい文字列に変換する
6
6
  foreach($resultList as $result) {
7
7
  mb_convert_variables('SJIS-win', 'UTF-8', $result);
8
+ $work_at = $result->work_at ? \Carbon\Carbon::parse($result->work_at)->toDateTimeString() : "";
9
+ $send_at = $result->send_at ? \Carbon\Carbon::parse($result->send_at)->toDateTimeString() : "";
8
- fprintf($res, "%s,\"%s\",\"%s\"\n", $result->id, $result->work_at ? $result->work_at->toDateTimeString() : "", $result->send_at ? $result->send_at->toDateTimeString() : "");
10
+ fprintf($res, "%s,\"%s\",\"%s\"\n", $result->id, $work_at, $send_at);
9
11
  }
10
12
  ```
11
13
  `fprintf`

4

work_at、send_atがnullなときの対処を追加

2018/01/16 00:19

投稿

masaya_ohashi
masaya_ohashi

スコア9210

answer CHANGED
@@ -5,7 +5,7 @@
5
5
  // DBから取り出したdatetime型等はCarbonという便利なクラスになっているのでtoDateTimeStringを使って欲しい文字列に変換する
6
6
  foreach($resultList as $result) {
7
7
  mb_convert_variables('SJIS-win', 'UTF-8', $result);
8
- fprintf($res, "%s,\"%s\",\"%s\"\n", $result->id, $result->work_at->toDateTimeString(), $result->send_at->toDateTimeString());
8
+ fprintf($res, "%s,\"%s\",\"%s\"\n", $result->id, $result->work_at ? $result->work_at->toDateTimeString() : "", $result->send_at ? $result->send_at->toDateTimeString() : "");
9
9
  }
10
10
  ```
11
11
  `fprintf`

3

Carbonについて追記

2018/01/15 08:54

投稿

masaya_ohashi
masaya_ohashi

スコア9210

answer CHANGED
@@ -2,13 +2,17 @@
2
2
 
3
3
  ```PHP
4
4
  // 番号をid、作業日をwork_at、送信日をsend_atと仮定する
5
+ // DBから取り出したdatetime型等はCarbonという便利なクラスになっているのでtoDateTimeStringを使って欲しい文字列に変換する
5
6
  foreach($resultList as $result) {
6
7
  mb_convert_variables('SJIS-win', 'UTF-8', $result);
7
- fprintf($res, "%s,\"%s\",\"%s\"\n", $result->id, $result->work_at, $result->send_at);
8
+ fprintf($res, "%s,\"%s\",\"%s\"\n", $result->id, $result->work_at->toDateTimeString(), $result->send_at->toDateTimeString());
8
- }
9
+ }
9
10
  ```
10
11
  `fprintf`
11
12
  [http://php.net/manual/ja/function.fprintf.php](http://php.net/manual/ja/function.fprintf.php)
12
13
 
13
14
  `%s`等の説明は`sprintf`のページを確認してください。
14
- [http://php.net/manual/ja/function.sprintf.php](http://php.net/manual/ja/function.sprintf.php)
15
+ [http://php.net/manual/ja/function.sprintf.php](http://php.net/manual/ja/function.sprintf.php)
16
+
17
+ `Carbon`について
18
+ [http://carbon.nesbot.com/docs/](http://carbon.nesbot.com/docs/)

2

改行も抜けていたので修正

2018/01/15 08:45

投稿

masaya_ohashi
masaya_ohashi

スコア9210

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  // 番号をid、作業日をwork_at、送信日をsend_atと仮定する
5
5
  foreach($resultList as $result) {
6
6
  mb_convert_variables('SJIS-win', 'UTF-8', $result);
7
- fprintf($res, "%s,\"%s\",\"%s\"", $result->id, $result->work_at, $result->send_at);
7
+ fprintf($res, "%s,\"%s\",\"%s\"\n", $result->id, $result->work_at, $result->send_at);
8
8
  }
9
9
  ```
10
10
  `fprintf`

1

$resが抜けていたので修正

2018/01/15 06:45

投稿

masaya_ohashi
masaya_ohashi

スコア9210

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  // 番号をid、作業日をwork_at、送信日をsend_atと仮定する
5
5
  foreach($resultList as $result) {
6
6
  mb_convert_variables('SJIS-win', 'UTF-8', $result);
7
- fprintf("%s,\"%s\",\"%s\"", $result->id, $result->work_at, $result->send_at);
7
+ fprintf($res, "%s,\"%s\",\"%s\"", $result->id, $result->work_at, $result->send_at);
8
8
  }
9
9
  ```
10
10
  `fprintf`