एक कठिन काम लगता है। this discussion at bytes.com के मुताबिक 100% सही रूपांतरण पूरा करने का कोई स्पष्ट तरीका नहीं है। लेकिन ऐसा लगता है कि वे गलत हैं जब वे मानते हैं कि हिंदू कैलेंडर में 365 (या 366 लीप वर्षों में) के बजाय केवल 364 दिन हैं।
यहाँ
आप लीप वर्ष की हैंडलिंग सहित एक अच्छा रूपांतरण सारणी पा सकते हैं: http://hinduism.about.com/od/basics/a/monthsdayseras.htm
यदि यह के रूप में आसान है के रूप में वहाँ लिखा तो आप इस (php कोड) की तरह कुछ की कोशिश कर सकते हैं:
<?php
function convertDateToHinduDate($date) {
$beginningDayOfMonth = array(
1 => 21,
2 => 20,
3 => 22 + (dateIsLeapYear($date) ? -1 : 0), /* 21 in leap years */
4 => 21,
5 => 22,
6 => 22,
7 => 23,
8 => 23,
9 => 23,
10 => 23,
11 => 22,
12 => 22,
);
$daysOfHinduMonth = array(
1 => 30 + (dateIsLeapYear($date) ? 1 : 0), /* 31 in leap years */
2 => 31,
3 => 31,
4 => 31,
5 => 31,
6 => 31,
7 => 30,
8 => 30,
9 => 30,
10 => 30,
11 => 30,
12 => 30,
);
$day = (int) date('d', strtotime($date));
$month = (int) date('m', strtotime($date));
$year = (int) date('Y', strtotime($date));
$monthBefore = $day < $beginningDayOfMonth[$month];
$yearBefore = $month < 3 || ($month == 3 && $day < $beginningDayOfMonth[3]);
$newYear = $year + 57 + ($yearBefore ? -1 : 0);
$newMonth = $month - 2 + ($monthBefore ? -1 : 0);
if($newMonth < 1) $newMonth = 12 + $newMonth;
$newDay = $day - $beginningDayOfMonth[$month];
if($newDay < 1) $newDay = $daysOfHinduMonth[$newMonth] + $newDay;
return date("d-m-Y", mktime(11, 59, 0, $newMonth, $newDay, $newYear));
}
function dateIsLeapYear($date) {
return date('L', strtotime($date));
}
$date = date("d-m-Y", strtotime('2012-01-28'));
echo 'Date: ', $date, ' (is leap year: ', dateIsLeapYear($date) ? 'yes' : 'no', ')<br />';
echo 'Converted Hindu date: ', convertDateToHinduDate($date);
?>
इस कोड के आउटपुट:
Date: 28-01-2012 (is leap year: yes)
Converted Hindu date: 07-11-2068
लेकिन this Java applet की कैलकुलेटर के अनुसार, यह 2068/05/11 के बजाय 2068/07/11 होना चाहिए। तो, अभी भी कुछ रूपांतरण नियम गुम हैं। शायद आप मुझे कुछ और जानकारी दे सकते हैं ताकि मैं उपरोक्त कोड को सही कर सकूं।
कृपया देना उदाहरण महत्व देता है कि कैसे आप एक तारीख (टाइमस्टैम्प) को व्यक्त जब आप इसे लिखते * हिन्दू पंचांग * शैली होगा। – hakre
दिन, महीने, साल-प्रतिदिन, महीने, साल से हमारे आवेदन के लिए पर्याप्त है। –
यही वह नहीं है जिसे मैं जानना चाहता था। बस बाईं ओर हिंदू तिथि, दाईं ओर ग्रेगोरियन दिनांक के अनुसार, कई उदाहरण दें। मैं सिर्फ यह जानना चाहता हूं कि हिंदू कैलेंडर क्या है जब वेबसाइट पर तारीख मान व्यक्त किए जाते हैं। – hakre