"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تحديد اليوم الأخير من الشهر باستخدام حزمة الوقت الخاصة بـ Go؟

كيفية تحديد اليوم الأخير من الشهر باستخدام حزمة الوقت الخاصة بـ Go؟

تم النشر بتاريخ 2024-11-23
تصفح:192

How to Determine the Last Day of a Month Using Go\'s Time Package?

تحديد اليوم الأخير من الشهر باستخدام Time.Time

غالبًا ما يتطلب العمل مع القيم الزمنية في البرمجة معالجة التواريخ وتحديد جوانب معينة من الأطر الزمنية. إحدى المهام الشائعة هي العثور على اليوم الأخير من شهر معين. قد يكون هذا أمرًا صعبًا بشكل خاص عند التعامل مع الأشهر التي تحتوي على أرقام مختلفة من الأيام، مثل فبراير.

في حزمة وقت Go، يمثل الوقت.يمثل نوع الوقت نقطة زمنية. للحصول على اليوم الأخير من الشهر لفترة معينة.قيمة الوقت، يمكننا استخدام وظيفة التاريخ.

تأخذ وظيفة التاريخ عدة معلمات، بما في ذلك:

  • السنة: year
  • الشهر: الشهر (كزمن. ثابت الشهر)
  • اليوم: يوم الشهر
  • الساعة: ساعة day
  • min: دقيقة الساعة
  • ثانية: الثانية من الدقيقة
  • nsec: النانو ثانية من الثانية
  • loc: الموقع (المنطقة الزمنية)

للعثور على اليوم الأخير من الشهر، يمكننا ضبط معلمة اليوم على 0 وزيادة معلمة الشهر بمقدار واحد. سيؤدي هذا إلى إرجاع قيمة الوقت.الوقت الذي يمثل اليوم الأول من الشهر التالي. يمكننا بعد ذلك طرح يوم واحد من هذه القيمة للحصول على اليوم الأخير من الشهر الحالي.

على سبيل المثال، للعثور على اليوم الأخير من شهر يناير 2016، يمكننا استخدام الكود التالي:

package main

import (
    "fmt"
    "time"
)

func main() {
    // January, 29th
    t, _ := time.Parse("2006-01-02", "2016-01-29")

    // Increment month and set day to 0 to get first day of next month
    y, m, _ := t.Date()
    lastDay := time.Date(y, m 1, 0, 0, 0, 0, 0, time.UTC)

    // Subtract one day to get last day of current month
    lastDay = lastDay.Add(-24 * time.Hour)

    fmt.Println(lastDay)
}

مخرجات هذا البرنامج هي:

2016-01-31 00:00:00  0000 UTC

هذا يعطينا بشكل صحيح اليوم الأخير من الشهر، وهو هو 31 يناير 2016.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3