سلام
من دنبال کدی هستم که بتونه تاریخ میلادی رو به شمسی تبدیل کنه . ولی هر چی میگردم چیزی در این مورد پیدا نمیکنم.
متشکرم.
سلام
من دنبال کدی هستم که بتونه تاریخ میلادی رو به شمسی تبدیل کنه . ولی هر چی میگردم چیزی در این مورد پیدا نمیکنم.
متشکرم.
این مشکلم حل شد ولی یه مشکل جدید برام پیش امد.
شما در نظر بگیرید امروز تاریخ :1391-7-8 هست . من برنامه ای نوشتم که اگر امروز تاریخ 1391-7-8 باشه یه پیام are بده وگرنه پیام na.
ولی نمیدونم چرا هر کاری میکنم این اتفاق نمی افته.
package testi;
public class CalendarConversionDemo {
public static void main(String[] args) {
Main Main = new Main();
String zaman;
zaman=Main.getIranianYear()+"-"+Main.getIranianMonth()+"-"+Main.getIranianDay();
System.out.println(zaman);
if(zaman=="1391-7-8"){
System.out.println("are");
} else {
System.out.println("na");
}
}
}
کاش خروجی این کد رو هم میذاشتی که بدونیم باید چطوری کمکت کنیم.
اینم خروجی:
درصورتی که باید پیام are بده پیام na میده . چون تاریخی که باهاش مقایسه کردم متعلق به امروز است.کد HTML:1391-7-8 na
هر دو فایل رو ضمیمه کردم:
shamsi.zip
کلا تاریخ این مشکل رو داره. اولش فکر میکردم فقط تاریخ شمسی اینطوریه ولی حالا فهمیدم تاریخ میلادی هم همینطوره ببینید:
package testi;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
System.out.println(dateFormat.format(date));
String zaman;
zaman=dateFormat.format(date);
if(zaman=="2012-09-30"){
System.out.println("are");
} else {
System.out.println("na");
}
}
}
خروجی:
کد HTML:2012-09-30 na
بالاخره با تلاش فراوان فهمیدم مشکل کار از کجاست:
package testi;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.text.ParseException;
public class Main {
public static void main(String[] args) {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
System.out.println(dateFormat.format(date));
String zaman;
zaman=dateFormat.format(date);
String karbar;
karbar="2012-09-30";
if (zaman.compareTo(karbar)==0)
{
System.out.println("are");
} else {
System.out.println("na");
}
}
}
الان کد بالا در خط زیر نگاه کنید:
if (zaman.compareTo(karbar)==0)
این خط داره میگه اگه نسبت بین دو متغییر صفر باشد یعنی هیچ اختلافی بین دو مقدار داده شده به متغییر نباشد پیام are را چاپ گن وگرنه پیام na را چاپ کن.
چقدر زبان جاوا مزخرفه .
حالا اینا رو توی php ببینید:
<?php
$zaman=Date('Y-m-d');
if($zaman=="2012-09-30")
{
echo "are";
}
else
{
echo "na";
}
?>
واقعا php از نظر سادگی عالیه
اشکال نداره از کدتون استفاده کنم؟ (فرهنگ احترام به لایسنس :دی)
http://sourceforge.net/projects/persiancalendar/ و http://stackoverflow.com/questions/1...alendar-in-and رو ببین. فکر کنم کمکت کنه... :-)
اگر به بهداشت و سلامت حیوانات علاقه دارید، از vetMD.ir دیدن کنید.
وبلاگ شخصی من: fadavi.net
اینجا کمتر سر میزنم. (تلگرام من)
يه كتابخونه خيلي ساده نوشتم تو github قرار دادم تا بتونيد ازش استفاده كنيد.
https://github.com/MohsenK/JPersianDate
حالا که بخیر گذشت اما برای مقایشه رشته بهتره از
.equals()
استفاده کنی
اینجا درسته به نظر سختتر میاد ولی اگر مفهوم شی گرایی رو به خوبی میدونستید این مشکل پیش و پا افتاده براتون پیش نمیومد که از == برای مقایسه دو مقدار استفاده کنید ( اوایل همه این مشکل رو دارند چون هنوز مفهوم رو نگرفتن، وگرنه برای جلوگیری از اشتباهات اینچنینی برای مقایسه دو رشته هم از .eqauls استفاده میکنند گرچه استثنا == هم جواب میده برای رشته ). در شی گرایی به جز متغیرهای نوع اولیه بقیه == به منظور برابر بودن اشیا است نه مقادیر آن. فرض کنید یک شی داشته باشید که دارای یک کلید و یک مقدار باشه. حالا شما میگید اگر x==y بود. خب این از کجا بدونه منظورتون کلیده یا مقدار؟ کاری که شما کردید شبیه به همینه.
در صورتی که x==y یعنی هر دو شی یکی هستند و به یک جا در حافظه اشاره میکنند.
گرچه کاربرد پی اچ پی و جاوا بسیار متفاوته و اینجور مقایسه خیلی سطحیه. اگه اینطور باشه C++ و python و C# و... همگی مزخرف میشن و php و javascript و... میشن عالی!
اتفاقا از نظر من php از این نظر خیلی بده ( نگم مزخرف ) که نوع متغیر ها، خروجی توابع و ... چک نمیشه و در حین برنامه نویسی مشخص نیست، و این باعث میشه خیلی به دردسر بیفتی. ولی وقتی همه چیز نوعش مشخصه، میدونی چی رو میشه کجا استفاده کرد و چی رو نه!
موفق باشید.
این تاپیک رو نمیدونم چرا بالا آوردید. این تاپیک مال خیلی وقت پیشه!
شما خبر نداری! چند وقته که بحث سر اینه که جاوا خیلی ناامن هست. حالا شما میگی php نامنه؟
به نظرم مزیت یه زبان برنامه نویسی به اینه که ادم بتونه یه چیزی رو به ساده ترین صورت بنویسه. نه اینکه برای یه چیز پیش پاافتاده خودش رو بکشه. من پایتون و php رو می پسندم چون بهترین مزیتشون ساده بودنشونه. همه ی زبان های برنامه نویسی مشکل ناامن بودن رو دارن. بحث سر اینه که شما چطوری بنویسی که برنامه ات مشکل امنیت نداشته باشه.
هر فریموورکی حفره های امنیتی خاص خودشو داره... برای حرفتون سند ذکر کنید.چند وقته که بحث سر اینه که جاوا خیلی ناامن هست.
بازم بحثای پر تعصب و بی معنی... هر زبونی با توجه به حیطه کاریش، معماری میشه و به نوبه خودش یک سری نقاط ضعف و قوت ایجاد میکنه.
PHP یه زبان اسکریپتی هستش و مبتنی بر افزایش سرعت توسعه و راحتی و دم دستی بودن برای توسعه دهندش طراحی شده. به همین دلیله که یکی از بهترین راه های تنهایی پول درآوردن از برنامه نویسی (در ایران) PHP هستش، چون بدون گرفت و گیره!
اما پروژه های سازمانی غول آسایی هم هستن که تو این مقیاس ها نمیگنجن. Java EE برای انجام پروژه های سازمانی عظیم تخصص پیدا کرده. توی این پروژه ها با حجم پردازشی نجومی اهمیت داره که شما تا حد امکان صرفه جویی کنی و جایی که استفاده از یه متغیر short کافیه از long استفاده نکنی! (چیزی که PHP ازش بی بهرست) ... فکر کنم دلیل سخت گیری های جاوا (و دات نت و ...) روشنه اینجوری.
نمیگم PHP برای انجام پروژه های عظیم نامناسبه و جاوا برای انجام پروژه های کوچیکتر. تخصصشون رو بیان کردم.
به نظرم اصلا حرف درستی نیست که با قدرت بگیم یکیشون بهتره...
موفق باشید.
اگر به بهداشت و سلامت حیوانات علاقه دارید، از vetMD.ir دیدن کنید.
وبلاگ شخصی من: fadavi.net
اینجا کمتر سر میزنم. (تلگرام من)
یه جوری حرف میزنی که انگار من گفتم php بهتره. من هم میگم نمیشه گفت کدوم بهتره چون هر کدوم یه سری مزایا داره.
من گفتم php از نظر سادگی بهتره. برای همین توی پست اولم گفتم جاوا مزخرفه.
من توی سادگی php رو میپسندم و چون سادگی خودش رو داره برای همین به زبان های دیگه ترجیح میدم والبته php با وجود سادگی امکانات و قدرت زیادی داره . آموزش های زیادی هم داره. و..
یه بازه خیلی کوچک چنین حرفی بود که برطرف شد. اینکه جاوا خیلی ناامن هست رو از کجا آوردی؟! اتفاقا جاوا رو به خاطر امنیت بالایی که داره هم استفاده میکنند. مثلا گوگل کروم مرورگر خیلی امنیه ولی خب هر نرم افزاری ممکنه باگ و محل نفوذ داشته باشه، دلیل نمیشه بگی "خیلی" "ناامن"! وگرنه تو مهمترین پروژه ها ( مثلا پروژه های بانکی و... ) ازش استفاده نمیشد!شما خبر نداری! چند وقته که بحث سر اینه که جاوا خیلی ناامن هست. حالا شما میگی php نامنه؟
اتفاقا این سادگی ظاهری که کد خیلی خواناتر به نظر میاد، برای برنامه نویس بسیار دردسر ساز تر میشه. مثلا فرض کن یک کانستراکتور در php داشته باشی، شما هر چی قرار بدی، نمیشه قبل از اجرا به اشتباه یا درست بودنش پی ببری چون نوعش مشخص نیست. ولی وقتی که اجرا میشه صدها اررور میده. و برای همین همیشه باید بری از اینترنت یا هر مرجع دیگه ای که این دقیقا چه پارامترهایی میگیره! ولی برای جاوا از اول مشخصه و قبل از اجرا تمام خطاهای اینچنینی بر طرف میشه.من گفتم php از نظر سادگی بهتره. برای همین توی پست اولم گفتم جاوا مزخرفه.
راستی این کد php ای که نوشتید در جاوا هم خیلی متفاوت تر نیستا! شما اومدید شلوغش کردید و تو هر سطر یه چیزی تعریف کردید و متغیرهای مختلف.
کد php :
<?php
$zaman=Date('Y-m-d');
if($zaman=="2012-09-30")
{
echo "are";
}
else
{
echo "na";
}
?>
اینم جاوا : ( که تفاوت خیلی زیادی نیست. در جاوا سعی میشه در اسامی صرفه جویی نشه تا با اسم کلاس ها و متغیرها به صورت کلی بفهمیم چه خبره )
String zaman = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
if (zaman.equals("2012-09-30")) {
System.out.println("are");
} else {
System.out.println("na");
}
در کد php شما الان میدونید که Date('...') بهتون یه رشته میده و اونوقت اومدید با یک رشته مقایسه کردید. ولی فرض کنید یه متغیر از نوع زمان میداد اونوقت باز هم هیچ ایرادی در برنامتون ایجاد نمیشد! تا بیایید اجرا کنید و بفهمید که اشتباه بوده! حالا من به این میگم سردرگمی، از نظر یکی سادگیه.
بلاخره سلایق متفاوته
آخرین ویرایش به وسیله vahid-p : دوشنبه 16 تیر 1393 در 22:44 عصر
سلام دوستان
فک کنم از بحث این تاپیک جداشدیناااا، آخرش من نفهمیدم چجوری باید تاریخ میلادیو به شمسی تبدیل کرد؟لطفا کدشو بذارینو توضیح بدین من بفهمم چجوریه!!!
کدش که تو پست 12 همین تاپیک لینکشو دادن. لینکش این بود : https://github.com/MohsenK/farstimeفک کنم از بحث این تاپیک جداشدیناااا، آخرش من نفهمیدم چجوری باید تاریخ میلادیو به شمسی تبدیل کرد؟لطفا کدشو بذارینو توضیح بدین من بفهمم چجوریه!!!
وقتی داشتم توی تاپیکا میگشتم به یه پروژه برخوردم که این کارو میکرد و به نظرم خوب اومد.
اینم آدرسش:
https://barnamenevis.org/showthread.p...=1#post1421349
البته خودمم کلاسشو نوشتم.کلاس من خیلی خیلی راحت تر و ساده تره!!!!!!!!!!!!
دوستان موفق باشید.
آخرین ویرایش به وسیله Amin1991-2012 : جمعه 27 تیر 1393 در 13:01 عصر
اینم خیلی سادست و در کل دو کلاس بیشتر نیست.
کافی بود با نت بینز کل فولدری که دانلود کردی رو باز کنی.
من به صورت یه پروژه برات گذاشتم که کتابخونه لازمش رو هم همراهش داره. البته در مسیر dist/lib کتابخونه joda-time قرار داره که باید تو پروژت قسمت لایبرری قرار بدی.
فایلش رو ضمیمه کردم.
اینم یه کد برای استفاده از این کلاس. تبدیل میلادی به شمسی و شمسی به میلادی : ( البته تو فایل هم موجوده )
package main;
import com.github.jpersiandate.PersianDateTime;
public class Main {
public static void main(String[] args) {
System.out.println("---- Tabdil Miladi be Shamsi ----");
PersianDateTime pd = PersianDateTime.valueOf(new org.joda.time.DateTime(2014, 7, 18, 10, 20, 30));
System.out.println("Persian Date : " + pd.toString());
System.out.println("Gregorian Date : " + pd.toGregorianDate());
System.out.println("\n\n---- Tabdil Shamsi be Miladi ----");
PersianDateTime pdt=new PersianDateTime(1393, 4, 27, 0, 0, 0);
System.out.println("Gregorian Date : " + pdt.toGregorianDate());
}
}
سلام
کسی تقویم فارسی جاوا رو نداره مثل C# باشه
با combo box کار کنه
آخرین ویرایش به وسیله igifar : شنبه 28 تیر 1393 در 12:07 عصر
با سلام در لینک زیر کامپوننتی DatePicker shamsi وجود دارد که میتوان به پروژه java , Netbeans اضافه نمود و در پروژه ها به راحتی از آن استفاده کرد
http://sunfile.sellfile.ir/prod-4207...+Netbeans.html