Completed
Push — master ( d65f51...5b82a8 )
by Oscar
02:16
created

Datetime::getDefaultValue()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace SimpleCrud\Fields;
4
5
/**
6
 * Normalices datetime values.
7
 */
8
class Datetime extends Field
9
{
10
    protected $format = 'Y-m-d H:i:s';
11
12
    /**
13
     * {@inheritdoc}
14
     */
15
    public function dataToDatabase($data)
16
    {
17
        if (empty($data)) {
18
            return;
19
        }
20
21
        if (is_string($data)) {
22
            return date($this->format, strtotime($data));
23
        }
24
25
        if ($data instanceof \Datetime) {
26
            return $data->format($this->format);
27
        }
28
    }
29
30
    /**
31
     * {@inheritdoc}
32
     */
33
    public function dataFromDatabase($data)
34
    {
35
        return $data ? new \Datetime($data) : null;
36
    }
37
38
    /**
39
     * Return the default value
40
     */
41
    public function getDefaultValue()
42
    {
43
        return null;
44
    }
45
}
46