نمایش نتایج 1 تا 8 از 8

نام تاپیک: بدست آوردن تاریخ از چندین روز سال

  1. #1

    بدست آوردن تاریخ از چندین روز سال

    تاحالا خیلی سوال و توضیح در مورد چندین روز سال دیدن
    اما من برعکس این سوال دارم یک عدد دارم میخوام بدونم تاریخ اون چی میشه
    مثلا 196 روز سال چه تاریخی میشه؟

  2. #2

    نقل قول: بدست آوردن تاریخ از چندین روز سال

    دوستان کسی نیست به من کمک کنه؟
    من با شماره هفته یا روز چطور میتونم تاریخ اون هفته یا اون روز پیدا کنم؟؟؟؟

  3. #3
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: بدست آوردن تاریخ از چندین روز سال

    سلام
    این نمونه برای تاریخ میلادی

  4. #4

    نقل قول: بدست آوردن تاریخ از چندین روز سال

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    سلام
    این نمونه برای تاریخ میلادی
    int a = 53; // This is the day of year value, that I got previously
    string b = Convert.ToDateTime(a).ToString(); // Trying to get the date
    از این کد استفاده کردم خطا میده
    Invalid cast from 'Int32' to 'DateTime'.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: بدست آوردن تاریخ از چندین روز سال

    این سوال یه بنده خدایی بوده که مشکل داشته، جواب اون پستی هست که تیک خورده.

  6. #6

    نقل قول: بدست آوردن تاریخ از چندین روز سال

    سلام
    این متد ، دوتا پارامتر میگیره ، اولی تاریخ میلای که مبنای سال مورد محاسبه هست و پارامتر دوم هم همون شماره روز که بهش اشاره کردین ، خروجیش هم تاریخ مورد نظر به شمسی هست

    private string GetDateByDay(DateTime date, int dayNumber)
    {
    var persianCalendar = new PersianCalendar();


    #region throw exception on wrong day number input


    if (!persianCalendar.IsLeapYear(persianCalendar.GetYe ar(date)) && (dayNumber < 1 || dayNumber > 365))
    throw new Exception("Invalid Day Number");


    if (persianCalendar.IsLeapYear(persianCalendar.GetYea r(date)) && (dayNumber < 1 || dayNumber > 366))
    throw new Exception("Invalid Day Number");


    #endregion


    var targetDate = persianCalendar.ToDateTime(persianCalendar.GetYear (date), 1, 1, 0, 0, 0, 1).AddDays(dayNumber - 1);


    return $"{persianCalendar.GetYear(targetDate)}/{persianCalendar.GetMonth(targetDate):D2}/{persianCalendar.GetDayOfMonth(targetDate):D2}";
    }


    این هم یک شکل دیگه هست ، با این تفاوت که سال شمسی رو بعنوان پارامتر اول میگیره (سال به صورت 4 رقمی) و بقیه موارد مثل متد بالا هست

    private string GetDateByDay(int shamsiYear, int dayNumber)
    {
    var persianCalendar = new PersianCalendar();


    #region throw exception on wrong day number input


    if (!persianCalendar.IsLeapYear(shamsiYear) && (dayNumber < 1 || dayNumber > 365))
    throw new Exception("Invalid Day Number");


    if (persianCalendar.IsLeapYear(shamsiYear) && (dayNumber < 1 || dayNumber > 366))
    throw new Exception("Invalid Day Number");


    #endregion


    var startdate = persianCalendar.ToDateTime(shamsiYear, 1, 1, 0, 0, 0, 1).AddDays(dayNumber - 1);


    return $"{persianCalendar.GetYear(startdate)}/{persianCalendar.GetMonth(startdate):D2}/{persianCalendar.GetDayOfMonth(startdate):D2}";
    }



    استفادش هم که به اینصورت میشه
    مورد اول
    var result = GetDateByDay(DateTime.Now, days);


    مورد دوم
    var result = GetDateByDay(1397, days);
    قوانین سایت برنامه نویس [ به سوالات از طریق پیام خصوصی پاسخ داده نمی شود ]

  7. #7

    نقل قول: بدست آوردن تاریخ از چندین روز سال

    نقل قول نوشته شده توسط محمد آشتیانی مشاهده تاپیک
    سلام
    این متد ، دوتا پارامتر میگیره ، اولی تاریخ میلای که مبنای سال مورد محاسبه هست و پارامتر دوم هم همون شماره روز که بهش اشاره کردین ، خروجیش هم تاریخ مورد نظر به شمسی هست

    private string GetDateByDay(DateTime date, int dayNumber)
    {
    var persianCalendar = new PersianCalendar();


    #region throw exception on wrong day number input


    if (!persianCalendar.IsLeapYear(persianCalendar.GetYe ar(date)) && (dayNumber < 1 || dayNumber > 365))
    throw new Exception("Invalid Day Number");


    if (persianCalendar.IsLeapYear(persianCalendar.GetYea r(date)) && (dayNumber < 1 || dayNumber > 366))
    throw new Exception("Invalid Day Number");


    #endregion


    var targetDate = persianCalendar.ToDateTime(persianCalendar.GetYear (date), 1, 1, 0, 0, 0, 1).AddDays(dayNumber - 1);


    return $"{persianCalendar.GetYear(targetDate)}/{persianCalendar.GetMonth(targetDate):D2}/{persianCalendar.GetDayOfMonth(targetDate):D2}";
    }


    این هم یک شکل دیگه هست ، با این تفاوت که سال شمسی رو بعنوان پارامتر اول میگیره (سال به صورت 4 رقمی) و بقیه موارد مثل متد بالا هست

    private string GetDateByDay(int shamsiYear, int dayNumber)
    {
    var persianCalendar = new PersianCalendar();


    #region throw exception on wrong day number input


    if (!persianCalendar.IsLeapYear(shamsiYear) && (dayNumber < 1 || dayNumber > 365))
    throw new Exception("Invalid Day Number");


    if (persianCalendar.IsLeapYear(shamsiYear) && (dayNumber < 1 || dayNumber > 366))
    throw new Exception("Invalid Day Number");


    #endregion


    var startdate = persianCalendar.ToDateTime(shamsiYear, 1, 1, 0, 0, 0, 1).AddDays(dayNumber - 1);


    return $"{persianCalendar.GetYear(startdate)}/{persianCalendar.GetMonth(startdate):D2}/{persianCalendar.GetDayOfMonth(startdate):D2}";
    }



    استفادش هم که به اینصورت میشه
    مورد اول
    var result = GetDateByDay(DateTime.Now, days);


    مورد دوم
    var result = GetDateByDay(1397, days);
    با سلام ضمن تشکر از پاسخ کاملتون اگر انکان داره در مورد دستور return یه توضیح مختصر بدید از $ خطا میگیره

  8. #8
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: بدست آوردن تاریخ از چندین روز سال

    نقل قول نوشته شده توسط mehdi0020 مشاهده تاپیک
    با سلام ضمن تشکر از پاسخ کاملتون اگر انکان داره در مورد دستور return یه توضیح مختصر بدید از $ خطا میگیره
    کاراکتر $ یکی از ویژگی های خوب C#‎ 6 هست
    میتونید به شکل زیر هم تغییرش بدید

    return string.Format(@"{0}/{1}/{2}", persianCalendar.GetYear(startdate), persianCalendar.GetMonth(startdate).ToString("00") , persianCalendar.GetDayOfMonth(startdate).ToString( "00"));

    موفق باشید
    لطفاً از پرسیدن سوال در خصوصی خودداری کنید.
    قبل از ایجاد تاپیک، حتماً قوانین سایت را مطالعه فرمایید.
    قوانین پرسش های دانشجویی
    برای درست وارد شدن کد در قالب C#‎‎‎ سایت، ابتدا کد رو درون Notepad.exe کپی سپس از اونجا به سایت در قالب C#‎‎‎ منتفل کنید
    نرم افزار code manager دستیار برنامه نویسان جهت نگهداری کد ها

تاپیک های مشابه

  1. سوال: بدست آوردن سن از روی تاریخ تولد و تاریخ روز
    نوشته شده توسط amir200h در بخش C#‎‎
    پاسخ: 23
    آخرین پست: یک شنبه 21 بهمن 1397, 14:56 عصر
  2. پاسخ: 4
    آخرین پست: پنج شنبه 23 فروردین 1397, 20:54 عصر
  3. سوال: بدست آوردن تاریخ روز های ی ماه یا یک سال
    نوشته شده توسط mortaza_ngz در بخش PHP
    پاسخ: 1
    آخرین پست: چهارشنبه 08 دی 1395, 17:35 عصر
  4. سوال: بدست آوردن تاریخ از طریق اینترنت
    نوشته شده توسط Morteza Manafpour در بخش VB.NET
    پاسخ: 10
    آخرین پست: پنج شنبه 04 تیر 1394, 21:12 عصر
  5. سوال: بدست آوردن تاريخ روز قبل
    نوشته شده توسط ebrahimv در بخش VB.NET
    پاسخ: 1
    آخرین پست: یک شنبه 15 دی 1387, 01:03 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •