黄历,是在中国农历基础上产生出来的,带有每日吉凶的一种历法。黄历相传是由轩辕黄帝创制,故称为黄历。黄历主要内容为二十四节气的日期表,每天的吉凶宜忌、干支、星宿、月相等。

方倍工作室 接口100 提供 每日宜忌API。

  1. 每日宜忌

返回如下:

实现很简单,直接调用接口即可

黄历中的各种术语: 祭祀:指祭拜祖先和神明等。 安葬:举行埋葬等仪式。 嫁娶:结婚的日子。 出行:外出旅游等。 祈福:祈求神明降福或设醮还愿之事。 动土:建筑房屋时、第一次动起锄头挖土。 安床:指安置床铺。 开光:佛像塑成后、供奉上位之事。 纳采:订婚时受授聘金。 入殓:将尸体放入棺材。 移徙:搬家、迁移住所。 破土:指埋葬死人。 解除:打扫房屋。 入宅:搬入新家。 修造:修理建造房屋。 栽种:种植作物。 开市:商店开张营业。 移柩:移动棺材。 订盟:订婚仪式的一种,俗称小聘。 拆卸:拆毁房屋。 立卷:订立各种契约互相买卖之事。 交易:订立各种契约互相买卖之事。 求嗣:向神明祈求后代。 上梁:给房屋装上大梁。 纳财:购屋产业、进货、收帐、收租、讨债、贷款、五谷入仓等。 起基:建筑时、第一次动起锄头挖土。 斋醮:庙宇建醮前需举行的斋戒仪式。 赴任:走马上任。 冠笄:男女年满二十岁所举行的成年礼仪式。 安门:放置正门门框。 修坟:修理坟墓。 挂匾:指悬挂招牌或各种匾额。

http://api100.duapp.com/almanac/?appkey=trialuser
"公历2014年1月13日(农历2013年12月13日)\n星期一\n岁次:癸巳年、生肖属蛇、乙丑月、甲申日\n宜:祭祀 安香 酬神 上表章 词讼 袭爵受封 出行 上官赴任 临政亲民 移徙 沐浴 理发 整手足甲 裁衣 起基 竖柱上梁 修仓库 经络 酝酿 开市 挂匾 纳财 扫舍宇 伐木 畋猎 栽种 牧养 纳畜 破土 修坟 立碑 安葬\n忌:祈福 求嗣 会亲友 订婚 纳采问名 安床 安门 解除 治病 探病 立券 交易 开仓库 出货财\n冲:冲虎(寅申相冲)"
方倍工作室
    CopyRight 2013 All Rights Reserved
*/

define("TOKEN", "weixin");

$wechatObj = new wechatCallbackapiTest();
if (!isset($_GET['echostr'])) {
    $wechatObj->responseMsg();
}else{
    $wechatObj->valid();
}

class wechatCallbackapiTest
{
    public function valid()
    {
        $echoStr = $_GET["echostr"];
        if($this->checkSignature()){
            echo $echoStr;
            exit;
        }
    }

    private function checkSignature()
    {
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];
        $token = TOKEN;
        $tmpArr = array($token, $timestamp, $nonce);
        sort($tmpArr);
        $tmpStr = implode($tmpArr);
        $tmpStr = sha1($tmpStr);

        if($tmpStr == $signature){
            return true;
        }else{
            return false;
        }
    }

    public function responseMsg()
    {
        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
        if (!empty($postStr)){
            $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
            $RX_TYPE = trim($postObj->MsgType);

            switch ($RX_TYPE)
            {
                case "text":
                    $resultStr = $this->receiveText($postObj);
                    break;
                case "event":
                    $resultStr = $this->receiveEvent($postObj);
                    break;
                default:
                    $resultStr = "";
                    break;
            }
            echo $resultStr;
        }else {
            echo "";
            exit;
        }
    }

    private function receiveText($object)
    {
        $keyword = trim($object->Content);
        $url = "http://api100.duapp.com/almanac/?appkey=trialuser";
        $output = file_get_contents($url);
        $contentStr = json_decode($output, true);

        $resultStr = $this->transmitText($object, $contentStr);
        return $resultStr;
    }

    private function receiveEvent($object)
    {
        $contentStr = "";
        switch ($object->Event)
        {
            case "subscribe":
                $contentStr = "欢迎关注方倍工作室";
                break;
            default:
                break;
        }
        $resultStr = $this->transmitText($object, $contentStr);
        return $resultStr;
    }

    private function transmitText($object, $content)
    {
        $textTpl = "


%s


";
        $resultStr = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time(), $content);
        return $resultStr;
    }

}
?>