আমি আজ মধ্যরাতে পিএইচপি তে একটি টাইমস্ট্যাম্প পাওয়ার বিষয়ে কীভাবে যাব। বলুন এটি সোমবার 5 পিএম এবং আমি সোমবার (আজ) মধ্যরাতে (সকাল 12 টা) টাইমস্ট্যাম্প চাই যা ইতিমধ্যে ঘটেছে।
ধন্যবাদ
আমি আজ মধ্যরাতে পিএইচপি তে একটি টাইমস্ট্যাম্প পাওয়ার বিষয়ে কীভাবে যাব। বলুন এটি সোমবার 5 পিএম এবং আমি সোমবার (আজ) মধ্যরাতে (সকাল 12 টা) টাইমস্ট্যাম্প চাই যা ইতিমধ্যে ঘটেছে।
ধন্যবাদ
উত্তর:
$timestamp = strtotime('today midnight');
আপনি পিএইচপি কি অফার করতে পারেন তা একবার দেখতে চাইতে পারেন: http://php.net/datetime
$timestamp = strtotime('today');
মধ্যরাত। কিন্তু pssst ); প্রশ্নের উত্তর যেমন সৌন্দর্য শীতল উপরে এক
strtotime('today+00:00')
।
আমার মনে হয় আপনার নতুন পিএইচপি ডেটটাইম অবজেক্টটি ব্যবহার করা উচিত কারণ স্ট্রোটোটাইম () এর 32 বিট বিধিনিষেধের বাইরে তারিখগুলি করার কোনও সমস্যা নেই। আপনি আজকের তারিখটি মধ্যরাতে কীভাবে পাবেন তা এখানে একটি উদাহরণ।
$today = new DateTime();
$today->setTime(0,0);
অথবা আপনি যদি পিএইচপি 5.4 বা তার বেশি ব্যবহার করেন তবে আপনি এটি এইভাবে করতে পারেন:
$today = (new DateTime())->setTime(0,0);
তারপরে আপনি echo $today->format('Y-m-d');
যে বিন্যাসটি চান তা আপনার অবজেক্টের আউটপুট হিসাবে পেতে চান।
new DateTime('today midnight')
যা উদ্দেশ্যটিকে আরও স্পষ্ট করে তোলে (তবে এটি অবশ্যই স্বাদের বিষয়)।
$today = new DateTime('today')
new Carbon('today midnight')
এবং তারপরে আপনি পছন্দ মতো সমস্ত কার্বন স্টাফ ব্যবহার করতে পারেন ->subDays(6)
। দেখুন carbon.nesbot.com
আপনি অতি সাম্প্রতিক আকাশের ঘটনার সময় গণনা করতে দেখছেন যেখানে সূর্যটি সরাসরি আপনার পায়ের নীচে চলে গেছে, উচ্চ দুপুর চিহ্নিত করার স্থানীয় সম্মেলনের জন্য সামঞ্জস্য করেছে এবং সম্ভাব্যভাবে সামঞ্জস্যও করছে যাতে লোকেরা কাজ থেকে বাড়ি ফিরে আসার পরে পর্যাপ্ত দিবালোক রেখে যায় এবং অন্যান্য রাজনৈতিক বিবেচনা।
ঠিক হতাশ? আসলে এটি একটি সাধারণ সমস্যা তবে পুরো উত্তরটি অবস্থান নির্ভর location
$zone = new \DateTimeZone('America/New_York'); // Or your own definition of “here”
$todayStart = new \DateTime('today midnight', $zone);
$timestamp = $todayStart->getTimestamp();
"এখানে" এর সম্ভাব্য সংজ্ঞাগুলি https://secure.php.net/manual/en/timezones.php এ তালিকাভুক্ত করা হয়েছে
strtotime('America/New_York today midnight');
? - 3v4l.org/I85qD
$today_at_midnight = strtotime(date("Ymd"));
আপনি যা পরে তা আপনাকে দেওয়া উচিত।
ব্যাখ্যা
আমি যা করেছি তা হ'ল পিএইচপি'র তারিখ ফাংশনটি সময়ের উল্লেখ ছাড়াই আজকের তারিখটি পেতে এবং তারপরে এটি 'স্ট্রিং টু টাইম' ফাংশনে পাস করুন যা একটি তারিখ এবং সময়কে একটি যুগের স্ট্যাম্পস্ট্যামে রূপান্তর করে। যদি এটি একটি সময় না পায়, এটি সেদিনের প্রথম দ্বিতীয়টি ধরে নেয়।
তথ্যসূত্র: তারিখ ফাংশন: http://php.net/manual/en/function.date.php
স্ট্রিং টু টাইম: http://us2.php.net/manual/en/function.strtotime.php
strtotime()
, মন তাই তারিখ ফাংশন উপর দৃষ্টি নিবদ্ধ ছিল। দুঃক্ষিত।
আরও অবজেক্ট পদ্ধতিতে:
$today = new \DateTimeImmutable('today');
উদাহরণ:
echo (new \DateTimeImmutable('today'))->format('Y-m-d H:i:s');
// will output: 2019-05-16 00:00:00
এবং:
echo (new \DateTimeImmutable())->format('Y-m-d H:i:s');
echo (new \DateTimeImmutable('now'))->format('Y-m-d H:i:s');
// will output: 2019-05-16 14:00:35
$midnight = strtotime('midnight');
বৈধ হয়
আপনি চেষ্টাও করতে পারেন
strtotime('12am')
বা strtotime('[input any time you wish to here. e.g noon, 6pm, 3pm, 8pm, etc]')
। আমি আজ মধ্যরাতের আগে যোগ করা এড়িয়ে গেছি কারণ আজ ডিফল্ট।
function getTodaysTimeStamp() {
const currentTimeStamp = Math.round(Date.now() / 1000);
const startOfDay = currentTimeStamp - (currentTimeStamp % 86400);
return { startOfDay, endOfDay: startOfDay + 86400 - 1 };
}
// starts from sunday
function getThisWeeksTimeStamp() {
const currentTimeStamp = Math.round(Date.now() / 1000);
const currentDay = new Date(currentTimeStamp * 1000);
const startOfWeek = currentTimeStamp - (currentDay.getDay() * 86400) - (currentTimeStamp % 86400);
return { startOfWeek, endOfWeek: startOfWeek + 7 * 86400 - 1 };
}
function getThisMonthsTimeStamp() {
const currentTimeStamp = Math.round(Date.now() / 1000);
const currentDay = new Date(currentTimeStamp * 1000);
const startOfMonth = currentTimeStamp - ((currentDay.getDate() - 1) * 86400) - (currentTimeStamp % 86400);
const currentMonth = currentDay.getMonth() + 1;
let daysInMonth = 0;
if (currentMonth === 2) daysInMonth = 28;
else if ([1, 3, 5, 7, 8, 10, 12].includes(currentMonth)) daysInMonth = 31;
else daysInMonth = 30;
return { startOfMonth, endOfMonth: startOfMonth + daysInMonth * 86400 - 1 };
}
console.log(getTodaysTimeStamp());
console.log(getThisWeeksTimeStamp());
console.log(getThisMonthsTimeStamp());