کیارش مالکی
4 سال پیش توسط کیارش مالکی مطرح شد
12 پاسخ

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

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


ثبت پرسش جدید
کیارش مالکی
تخصص : Backend developer
@nader.register 4 سال پیش مطرح شد
0

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


کیارش مالکی
تخصص : Backend developer
@nader.register 4 سال پیش مطرح شد
0

من خودم کد زیر رو نوشتم اما می خوام بدونم که تابع از 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]);
}

رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 4 سال پیش مطرح شد
-2

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

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

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

احسان عباسی
تخصص : مترجم کتاب برنامه نویسی
@sbaloot3 4 سال پیش آپدیت شد
1

سلام.
@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 4 سال پیش آپدیت شد
2

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


رضا پارسیان
تخصص : توسعه دهنده Php , Laravel
@Rp76 4 سال پیش مطرح شد
1

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

        $someTime = Carbon::createFromFormat('H:i:s', '54:20:10');
        dd($someTime);

احسان عباسی
تخصص : مترجم کتاب برنامه نویسی
@sbaloot3 4 سال پیش آپدیت شد
0

سلام. کد 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
تخصص : Back-End Developer
@muhammad 4 سال پیش مطرح شد
0

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


احسان عباسی
تخصص : مترجم کتاب برنامه نویسی
@sbaloot3 4 سال پیش مطرح شد
0

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


Muhammad
تخصص : Back-End Developer
@muhammad 4 سال پیش مطرح شد
0

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


احسان عباسی
تخصص : مترجم کتاب برنامه نویسی
@sbaloot3 4 سال پیش مطرح شد
0

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

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

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


Muhammad
تخصص : Back-End Developer
@muhammad 4 سال پیش مطرح شد
0

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


کیارش مالکی
تخصص : Backend developer
@nader.register 4 سال پیش مطرح شد
0

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


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

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