Вы делите Int на Int.
Целые деления округляются до ближайшего целого числа к нулю. Поэтому, например, 359/360 не является числом, близким к 1, оно равно 0. 360/360 до 719/360 равно 1. 720/360 до 1079/360 равно 2 и так далее.
Но ваше использование опций является жестоким. Я бы написал
let myInt = Int(graderna.text!)
let myInt2 = Int(radien.text!)
if let realInt = myInt, realInt2 = myInt2 {
let pi = 3.1415926
let lutning = 360.0
let result = Double (realInt) * (pi / lutning)
svar2.text = "\(result)"
}
Преобразование от метки времени до формата:
date('Y-m-d', $timestamp);
Преобразование из отформатированного для добавления метки времени:
mktime(0, 0, 0, $month, $day, $year, $is_dst);
Посмотрите дату и mktime для дальнейшей документации.
Когда дело доходит до хранения Вам решать, использовать ли Формат даты MySQL для хранения как отформатированная дата; как целое число для хранения как метка времени UNIX; или можно использовать ФОРМАТ МЕТКИ ВРЕМЕНИ MySQL, который преобразовывает числовую метку времени в читаемый формат. Проверьте MySQL Doc на информацию о МЕТКЕ ВРЕМЕНИ.
Используйте функцию Даты PHP. Вам, вероятно, придется преобразовать метку времени mysql в метку времени Unix в Вашем запросе с помощью функции UNIX_TIMESTAMP в mysql.
Можно избежать необходимости использовать strtotime()
или getdate()
в PHP при помощи MySQL UNIX_TIMESTAMP()
функция.
SELECT UNIX_TIMESTAMP(timestamp) FROM sometable
Получающиеся данные будут стандартной целочисленной меткой времени Unix, таким образом, можно будет сделать прямое сравнение с time()
.
strtotime () и getdate () являются двумя функциями, которые могут использоваться для получения дат от строк и меток времени. Нет стандартной библиотечной функции, которая преобразовывает между метками времени PHP и MySQL все же.
Я записал эту небольшую функцию для упрощения процесса:
/**
* Convert MySQL datetime to PHP time
*/
function convert_datetime($datetime) {
//example: 2008-02-07 12:19:32
$values = split(" ", $datetime);
$dates = split("-", $values[0]);
$times = split(":", $values[1]);
$newdate = mktime($times[0], $times[1], $times[2], $dates[1], $dates[2], $dates[0]);
return $newdate;
}
Я надеюсь, что это помогает
Строка даты формы:
YYYY-MM-DD
нет времени связанный с ним. MySQL Timestamp имеет форму:
YYYY-MM-DD HH:mm:ss
для сравнения этих двух необходимо будет или добавить время к строке даты, как полночь, например,
$datetime = '2008-08-21'.' 00:00:00';
и затем используйте функцию для сравнения epoc времени между ними
if (strtotime($datetime) > strtotime($timestamp)) {
echo 'Datetime later';
} else {
echo 'Timestamp equal or greater';
}