post_date )); break; case "get_comment_date": $comment = get_comment( $format ); $standard_date = getdate (mysql2date( 'U', $comment->comment_date )); break; case "now": $standard_date = getdate(); } $dyear=$standard_date["year"]+1166; $gyear=$standard_date["year"]; $yday=$standard_date["yday"]; // Check Tib's day according to Gregorian calendar if ($gyear%4==0&&$gyear%100!=0 || $gyear%400==0) { if ($standard_date["yday"]==59) $sttib="St. Tib's"; if ($standard_date["yday"]>59) $yday=$standard_date["yday"]-1; } $mon=$standard_date["mon"]; $mday=$standard_date["mday"]; $dseason=(int)($yday/73); $name_season=$season_list[$dseason]; $dday=($yday-(73*$dseason))+1; $clear_dday=$dday; $suff=$dday%10; switch ($suff) { case 1: $dday.="st"; break; case 2: $dday.="nd"; break; case 3: $dday.="rd"; break; default: $dday.="th"; } $dweekday=$day_list[($yday%5)]; if ($originalRequest == "now") { $ddate=$dweekday.", the ".$dday." day of ".$name_season.", in the yold ".$dyear; if (isset($sttib)) $ddate=$sttib." day, in the yold ".$dyear; } else { $patterns = array(); $patterns[0] = '%DY'; $patterns[1] = '%DS'; $patterns[2] = '%DD'; $patterns[3] = '%DC'; $patterns[4] = '%DW'; $patterns[5] = '%GY'; $patterns[6] = '%GM'; $patterns[7] = '%GN'; $patterns[8] = '%GD'; $patterns[9] = '%GW'; $replacements = array(); $replacements[0] = $dyear; $replacements[1] = $name_season; $replacements[2] = $dday; $replacements[3] = $clear_dday; if (isset($sttib)) { $replacements[2] = $sttib; $replacements[3] = "tib"; } $replacements[4] = $dweekday; $replacements[5] = $standard_date["year"]; $replacements[6] = $standard_date["month"]; $replacements[7] = $standard_date["mon"]; $replacements[8] = $standard_date["mday"]; $replacements[9] = $standard_date["weekday"]; $ddate = str_replace($patterns, $replacements, get_option('ddatefunc_string')); } return $ddate; } class Discordian_Date_Widget extends WP_Widget { function Discordian_Date_Widget() { $widget_ops = array('classname' => 'discordian_date_func', 'description' => 'Display the current date according to the Discordian Calendar.'); $control_ops = array('width' => 200, 'height' => 120); $this->WP_Widget('discordian_date_func', 'Discordian Date Widget', $widget_ops, $control_ops); } function widget($args, $instance) { $now = getdate(); $yday=$now["yday"]; $mon=$now["mon"]; $mday=$now["mday"]; $dseason=(int)($yday/73); $dday=($yday-(73*$dseason))+1; $a_holiday=array("Mungday", "Mojoday", "Syaday", "Zaraday", "Maladay"); $s_holiday=array("Chaoflux", "Discoflux", "Confuflux", "Bureflux", "Afflux"); $m_holyday=array("Chaomas", "Discomas", "Confumas", "Buremas", "Afmas"); $t_holyday=array("Chaosloth", "Discosloth", "Confusloth", "Buresloth", "Afsloth"); $e_holyday=array("Mungeye", "Mojeye", "Syadeye", "Zareye", "Maleye"); $holyday=""; if ($dday==5) { $holyday = " Celebrate Apostle Day, ".$a_holiday[$dseason]."."; } elseif ($dday==23) { $holyday = " Celebrate Synaptyclypse Day, ".$m_holiday[$dseason]."."; } elseif ($dday==27) { $holyday = " Celebrate Sloth Day, ".$t_holiday[$dseason]."."; } elseif ($dday==50) { $holyday = " Celebrate Flux Day, ".$s_holiday[$dseason]."."; } elseif ($dday==73) { $holyday = " Celebrate Eye Day, ".$e_holiday[$dseason]."."; } elseif ($mon==2 && $mday==29) { $holyday = " Celebrate St. Tib's Day."; } elseif ($dseason==0 && $dday==8) { $holyday = " Celebrate Death of Emperor Norton."; } elseif ($dseason==0 && $dday==10) { $holyday = " Celebrate Backwards/Binary Day."; } elseif ($dseason==0 && $dday==11) { $holyday = " Celebrate RAW Day."; } elseif ($dseason==0 && $dday==17) { $holyday = " Celebrate Joshmas."; } elseif ($dseason==0 && $dday==18) { $holyday = " Celebrate Pat Pineapple Day."; } elseif ($dseason==0 && $dday==21) { $holyday = " Celebrate Hug Day."; } elseif ($dseason==0 && $dday==26) { $holyday = " Celebrate Backwards Day (Traditional)."; } elseif ($dseason==0 && $dday==37) { $holyday = " Celebrate Aaron Burr’s Birthday."; } elseif ($dseason==0 && $dday==49) { $holyday = " Celebrate The Mary Day."; } elseif ($dseason==0 && $dday==51) { $holyday = " Celebrate Pet Loving Day."; } elseif ($dseason==0 && $dday==69) { $holyday = " Celebrate Head Chicken/Chicken Head Day."; } elseif ($dseason==0 && $dday==72) { $holyday = " Celebrate Daytime."; } elseif ($dseason==1 && $dday==4) { $holyday = " Celebrate Grover Cleveland’s Birthday."; } elseif ($dseason==1 && $dday==11) { $holyday = " Celebrate Discordians for Jesus/Love Your Neighbor Day."; } elseif ($dseason==1 && $dday==18) { $holyday = " Celebrate Fool’s Day."; } elseif ($dseason==1 && $dday==19) { $holyday = " Celebrate St. John the Blasphemist’s Day."; } elseif ($dseason==1 && $dday==34) { $holyday = " Celebrate Omarmas."; } elseif ($dseason==1 && $dday==43) { $holyday = " Celebrate Universal Ordination Day."; } elseif ($dseason==1 && $dday==68) { $holyday = " Celebrate Mal-2mas."; } elseif ($dseason==1 && $dday==70) { $holyday = " Celebrate Jake Day Jr. (DJ)/Day of the Elppin."; } elseif ($dseason==1 && $dday==72) { $holyday = " Celebrate Towel Day."; } elseif ($dseason==2 && $dday==26) { $holyday = " Celebrate Imaginary Friend/Captain Tuttle Day."; } elseif ($dseason==2 && $dday==28) { $holyday = " Celebrate St. George’s Day."; } elseif ($dseason==2 && $dday==30) { $holyday = " Celebrate Zoog Day."; } elseif ($dseason==2 && $dday==37) { $holyday = " Celebrate Mid-Year’s Day."; } elseif ($dseason==2 && $dday==40) { $holyday = " Celebrate X-Day."; } elseif ($dseason==2 && $dday==55) { $holyday = " Celebrate Mal-2 Day."; } elseif ($dseason==2 && $dday==57) { $holyday = " Celebrate John Dillinger Day."; } elseif ($dseason==3 && $dday==3) { $holyday = " Celebrate Multiversal Underwear Day."; } elseif ($dseason==3 && $dday==18) { $holyday = " Celebrate Festival of Hanky-Panky Spankies."; } elseif ($dseason==3 && $dday==33) { $holyday = " Celebrate Cat Dancing & Pussyfoot Day."; } elseif ($dseason==3 && $dday==37) { $holyday = " Celebrate Mass of Planet Eris/Eristotle."; } elseif ($dseason==3 && $dday==39) { $holyday = " Celebrate St. Mammes's Day."; } elseif ($dseason==3 && $dday==41) { $holyday = " Celebrate Emperor Norton Proclamation Day."; } elseif ($dseason==3 && $dday==57) { $holyday = " Celebrate Shamlicht Kids Club Day."; } elseif ($dseason==3 && $dday==59) { $holyday = " Celebrate Gonkulator Day (Gonculator Day)."; } elseif ($dseason==3 && $dday==60) { $holyday = " Celebrate Mad Hatter Day."; } elseif ($dseason==3 && $dday==66) { $holyday = " Celebrate Habeas Corpus Remembrance Day."; } elseif ($dseason==4 && $dday==28) { $holyday = " Celebrate Ek-sen-triks CluborGuild Day."; } elseif ($dseason==4 && $dday==36) { $holyday = " Celebrate Spanking Fest."; } elseif ($dseason==4 && $dday==37) { $holyday = " Celebrate 537 Day, sometimes Turkey Day."; } elseif ($dseason==4 && $dday==40) { $holyday = " Celebrate Omar’s Day."; } elseif ($dseason==4 && $dday==46) { $holyday = " Celebrate Hug Day II."; } elseif ($dseason==4 && $dday==65) { $holyday = " Celebrate Circlemas."; } extract($args); $title = $instance['title']; $body = apply_filters('widget_text', $instance['body']); if (!empty($title)) { ob_start(); eval(" ?>$title Today is "; echo get_ddate($content, $format, "now")."."; if ($holyday) echo "
".$holyday.""; echo ""; $body2 = ob_get_contents(); ob_end_clean(); if (!empty($title2)||!empty($body2)) echo $before_widget; if (!empty($title2)) echo $before_title,$title2,$after_title; if (!empty($body2)) echo $body2; if (!empty($title2)||!empty($body2)) echo $after_widget; } function update($new_instance, $old_instance) { return $new_instance; } function form($instance) { $title = $instance['title']; $title_id = $this->get_field_id('title'); $title_name = $this->get_field_name('title'); ?>

'.$settings_name.''; if (isset($_POST['save'])) { update_option('ddatefunc_string', stripslashes($_POST['textfield'])); if (isset($_POST['checkbox'])) update_option('ddatefunc_change', "1"); else update_option('ddatefunc_change', "0"); echo '

'.__('Settings saved.').'

'; } ?>
Date string:
Legend: %DY - Discordian yold (example: 3180)
%DS - Erisian season name (example: Chaos)
%DD - Discordian season day (example: 5th)
%DC - Clear erisian day number (example: 5)
%DW - Discordian week day (example: Setting Orange)
%GY - Gregorian year (example: 2014)
%GM - Gregorian month (example: January)
%GN - Gregorian month number (example: 1)
%GD - Gregorian month day (example: 5)
%GW - Gregorian weekday (example: Friday)

Examples

%DW, the %DD day of %DS, in the yold %DY
returns:
Setting Orange, the 5th day of Chaos, in the yold 3180

%DC %DS, %DY (%GN.%GN.%GY)
returns:
5 Chaos, 3180 (5.1.2014)
Convert all post and comments dates:
Convert to Discordian dates
Settings'; array_unshift( $actions, $settings_link ); return $actions; } function ddatefunc_deinstall() { delete_option('ddatefunc_string'); delete_option('ddatefunc_change'); } add_shortcode( 'today_ddate', 'return_today_ddate' ); add_action( 'widgets_init', 'register_ddatefunc_widget' ); add_option( 'ddatefunc_string', '%DD day of %DS, in the yold %DY'); add_option( 'ddatefunc_change', '1'); add_filter( 'plugin_action_links', 'ddatefunc_settings', 10, 2 ); add_action( 'admin_menu', 'ddatefunc_add_admin' ); if ( get_option('ddatefunc_change') == '1' ) { add_filter( 'get_the_date','get_the_ddate_post' ); add_filter( 'get_comment_date','get_the_ddate_comment' ); } if (function_exists('register_uninstall_hook')) register_uninstall_hook(__FILE__, 'ddatefunc_deinstall');