راکت
حل شده

تبدیل ساعت به timestamp و بلعکس

12 پاسخ

سلام وقت بخیر.
می خوام ساعت از کاربر بگیرم مثلا ۵۴:۲۰:۱۰ بعد تبدیل کنم به ثانیه و بعدم بلعکسش.
کسی می دونه چه جوری می تونم؟

ثبت پرسش جدید

پاسخ‌ها

12
کیارش مالکی
کیارش مالکی
@nader.register

تخصص: Backend developer

بهترین پاسخ

سلام دوستان عزیز.
واقعا ممنونم از اینکه پیگیر بودید.
همه اینا در جایگاه خودشون درست هستش.چون که یا برخی به ساعت و تاریخ اشاره کردن و برخی به timestamp.
ولی اینجا قراره ساعت ها با هم جمع شوند و خروجی فقط و فقط به ساعت گفته می شود مثل ۸۰۰ ساعتو ۱۰ دقیقه و ۲۰ ثانیه.
با این صحبت ها گمونم روشی که خودم گفتم بهتر از همش بود.
درسته آیا رفقا؟؟

کیارش مالکی
کیارش مالکی
@nader.register

تخصص: Backend developer

من خودم کد زیر رو نوشتم اما می خوام بدونم که تابع از php داریم یا خیر:

function secondToTime($seconds) {
    return floor($seconds / 3600).":".floor(($seconds / 60) % 60).":".$seconds % 60;
}
function TimeToSecond($time) {
    return (explode(':',$time)[0] * 3600) + (explode(':',$time)[1] * 60) + (explode(':',$time)[2]);
}
رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

سلام وقتتون بخیر!

برای php فکر نکنم راهی باشه اما کد sql هست اگر بتونید یک custom query اجرا کنید با DB

SELECT TIME_TO_SEC('54:20:10')  // 195610

شاید پاسخ شما همین‌جا باشد

احسان عباسی
احسان عباسی
@sbaloot3

تخصص: مترجم کتاب برنامه نویسی

سلام.
@nader.register
از متد strtotime در php برای تبدیل زمان به timestamp استفاده میشه. شما گفتید که می خواهید زمان ۵۴:۲۰:۱۰ رو به timestamp تبدیل کنید، برای این کار می تونید از دستور زیر استفاده کنید:

strtotime("54 hours 20 minutes 10 seconds")

برای دادن یک تاریخ به متد strtotime می تونید از کد زیر استفاده کنید:

<?php
$timestamp = strtotime('12-05-2014');
echo $timestamp."\n";
?>

برای تبدیل teimestamp به ساعت و تاریخ می تونید از متد date استفاده کنید:

echo date('m/d/Y H:i:s', 1541843467);  

به آرگومان دوم متد date باید timestamp مورد نظر رو بدهید تا به تاریخ و زمان تبدیلش کنه.

منبع 1
منبع 2
منبع 3
منبع 4
منبع 5

احسان عباسی
احسان عباسی
@sbaloot3

تخصص: مترجم کتاب برنامه نویسی

البته به نظرم این معنی نداره که بخواهیم مثلا 54:20:10 رو به timestamp تبدیل کنیم. چون مثلا ما معمولا برای تبدیل یک تاریخ و ساعت یعنی زمان و تاریخ واقعی رو به تایم استامپ تبدیل می کنیم. یعنی میایم و مثلا از امروز ساعت 12 رو حساب می کنیم تا ببینیم که تا تاریخ نیمه شب 1 ژانویه 1970 چند ثانیه فاصله داریم. بنابراین شما باید یک تاریخ واقعی رو به متد strtotime بدهید تا timestamp رو به شما بدهد.
@nader.register

رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

@sbaloot3
سلام شاید دوست داشته باشی تاریخ نا متعارف بدی

        $someTime = Carbon::createFromFormat('H:i:s', '54:20:10');
        dd($someTime);
احسان عباسی
احسان عباسی
@sbaloot3

تخصص: مترجم کتاب برنامه نویسی

سلام. کد php زیر رو می توانید مورد استفاده قرار دهید:

<?php

$time = "01:23:42";
$date = "2013-01-19";
$time_full = $date." ". $time;
$time_stamp = strtotime($time_full);
$timestampToDate = date("Y-m-d H:i:s",$time_stamp);

echo "timestamp is: " . $time_stamp;
echo ' ';
echo "date and time is: " . $timestampToDate;
?>

نتیجه به صورت زیر خواهد بود:

timestamp is: 1358558622 date and time is: 2013-01-19 01:23:42

در خط 1، زمان رو مشخص می کنیم و در خط 2 تاریخ رو مشخص می کنیم.
در خط 6، تایم استامپ رو دریافت می کنیم و در خط 7 تایم استامپ رو به تاریخ و زمان تبدیل می کنیم.

Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

تبدیل ساعت به ثانیه چه ارتباطی به timestamp داره؟

احسان عباسی
احسان عباسی
@sbaloot3

تخصص: مترجم کتاب برنامه نویسی

مثلا فرض کنید دو تا زمان دارید، و می خواهید اختلاف این دو زمان رو به دست بیارید، برای این کار می تونیم زمان اول رو به تایم استامپ تبدیل کنیم، یعنی محاسبه کنیم که از زمان اولی، تا نیمه شب 1 ژانویه 1970 چند ثانیه گذشته است. سپس زمان دوم رو هم تا نیمه شب 1 ژانویه 1970 به دست می آوریم. سپس اختلاف این دو ثانیه های به دست اومده رو به دست میاریم و چون به صورت ثانیه های تایم استامپ هست، به تاریخ و زمان فعلی محاسبه اش می کنیم. و این طوری اختلاف زمان ها به دست میان. تایم استامپ در حقیقت یه چیزی برای مقایسه ی زمان ها است.
امیدوارم این توضیحات مفید واقع بشه.
@muhammad
۳۰ دقیقه پیش

Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

لاراول از کربن استفاده می‌کنه
کربن هم برای به دست آوردن تفاوت زمانی متدهای خودش رو داره

احسان عباسی
احسان عباسی
@sbaloot3

تخصص: مترجم کتاب برنامه نویسی

لاراول از php استفاده می کنه. در لاراول هم timestamp کربن به صورت زیر مورد استفاده قرار می گیره؛ اما به نظرم در نهایت از همون تایم استامپ های php برای این کار استفاده می کنه:

use Carbon\Carbon;
$current_timestamp = Carbon::now()->timestamp;

بنابراین تایم استامپ در کربن هم وجود داره. و کاربردهای مختلفی داره.
منبع 1

Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

اینکه با منهاکردن قد دونفر میشه اختلاف قدشون رو به دست آورد دلیل نمیشه که بگیم قد در حقیقت برای فهمیدن اختلاف ارتفاع آدماست.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام