Skip to content

宣威生活网

xwshw.com

  • 首页
  • 本地动态
  • 招聘求职
  • 房屋租售
  • 便民信息

标签: 宣威生活

1至3月,宣威市平均降水量较历年同期偏少53.1%

2026-04-012026-04-01xwshw

【曲靖市气象局】2026年1至3月全市平均降水量38.4毫米,较历年同期偏少28.4毫米(偏少42.5%),较 […]

继续阅读

致全体宣威人:您身边的一站式便民生活平台,正式上线啦✅

2026-03-272026-04-01xwshw

亲爱的宣威父老乡亲、兄弟姐妹们: 大家好!经过近半年的精心打磨,反复测试,咱们宣威人自己的宣威生活网(xwsh […]

继续阅读

近期文章

  • 1至3月,宣威市平均降水量较历年同期偏少53.1%
  • 考教资的注意!宣威市2026年中小学教师资格认定公告发布
  • 致全体宣威人:您身边的一站式便民生活平台,正式上线啦✅
<script>
window.addEventListener('load', function() {
    // 顶部滚动文字
    let topDiv = document.createElement('div');
    topDiv.id = 'topScrollText';
    topDiv.textContent = "🎉 乌蒙风声旗下—宣威生活网正式上线运行,欢迎宣威父老乡亲从这里看宣威大事小情!";
    document.body.appendChild(topDiv);

    window.addEventListener('scroll', function() {
        if (window.scrollY > 20) {
            topDiv.classList.add('hide');
        } else {
            topDiv.classList.remove('hide');
        }
    });

    // 左上角日历(农历1-10已改初一到初十)
    let calendarDiv = document.createElement('div');
    calendarDiv.id = 'calendar-info';
    document.body.appendChild(calendarDiv);

    const CONFIG = {
        BASE_DATE: new Date(2026, 2, 10),
        BASE_GAN: 9,
        BASE_ZHI: 7,
        BASE_LUNAR_YEAR: "丙午",
        BASE_LUNAR_MONTH: "正月",
        BASE_LUNAR_DAY: 22,
        LUNAR_2026_DAYS: [30, 29, 30, 29, 30, 29, 30, 29, 30, 29, 30, 29],
        TIANGAN: ["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"],
        DIZHI: ["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"],
        SHENGXIAO: ["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"],
        LUNAR_MONTHS: ["正月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","腊月"],
        CN_DAYS: ["","初一","初二","初三","初四","初五","初六","初七","初八","初九","初十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","廿一","廿二","廿三","廿四","廿五","廿六","廿七","廿八","廿九","三十"]
    };

    function getDiffDays(targetDate) {
        return Math.floor((targetDate - CONFIG.BASE_DATE) / (1000 * 60 * 60 * 24));
    }
    function toChineseDay(day) {
        return CONFIG.CN_DAYS[day] || day.toString();
    }
    function solarToLunar(targetDate) {
        const LUNAR_INFO = [
            0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,
            0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,
            0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,
            0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,
            0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,
            0x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0a9a8,0x0e950,0x06aa0,
            0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,
            0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,0x195a6,
            0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,
            0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0
        ];
        const GEN = 1900;
        const year = targetDate.getFullYear();
        const month = targetDate.getMonth() + 1;
        const day = targetDate.getDate();
        if(year < 1900 || year > 2100) return null;
        const solarDays = [31,28,31,30,31,30,31,31,30,31,30,31];
        if(year % 4 === 0) solarDays[1] = 29;
        let offset = (Date.UTC(year, month-1, day) - Date.UTC(GEN, 0, 1)) / 86400000;
        let i, leap = 0, temp = 0;
        for(i=GEN; i<2101 && offset>0; i++){
            temp = 348;
            for(let j=0x8000; j>0x8; j>>>=1) temp += (LUNAR_INFO[i-GEN] & j) ? 1 : 0;
            temp += (LUNAR_INFO[i-GEN] & 0xf) ? (LUNAR_INFO[i-GEN] & 0x10000 ? 30 : 29) : 0;
            offset -= temp;
        }
        if(offset < 0){ offset += temp; i--; }
        leap = LUNAR_INFO[i-GEN] & 0xf;
        let isLeap = false;
        for(i=1; i<13 && offset>0; i++){
            if(leap>0 && i===leap+1 && !isLeap){ --i; isLeap = true; temp = (LUNAR_INFO[i-GEN] & 0x10000 ? 30 : 29); }
            else temp = (LUNAR_INFO[i-GEN] & (0x10000 >> i)) ? 30 : 29;
            if(isLeap && i===leap+1) isLeap = false;
            offset -= temp;
        }
        if(offset < 0){ offset += temp; i--; }
        return { month: i, day: offset+1 };
    }
    function getCalendarInfo(targetDate) {
        const year = targetDate.getFullYear();
        const month = targetDate.getMonth() + 1;
        const day = targetDate.getDate();
        const week = "星期" + ["日","一","二","三","四","五","六"][targetDate.getDay()];
        const diff = getDiffDays(targetDate);
        const ganIdx = (CONFIG.BASE_GAN + diff) % 10;
        const zhiIdx = (CONFIG.BASE_ZHI + diff) % 12;
        const dayGanZhi = CONFIG.TIANGAN[ganIdx] + CONFIG.DIZHI[zhiIdx];
        const dayAnimal = CONFIG.SHENGXIAO[zhiIdx];
        let lunarMonth, lunarDay;
        if(year === 2026){
            let lunarDayNum = CONFIG.BASE_LUNAR_DAY + diff;
            let monthIdx = 0;
            while(lunarDayNum > CONFIG.LUNAR_2026_DAYS[monthIdx]){
                lunarDayNum -= CONFIG.LUNAR_2026_DAYS[monthIdx];
                monthIdx++;
            }
            lunarMonth = CONFIG.LUNAR_MONTHS[monthIdx];
            lunarDay = toChineseDay(lunarDayNum);
        } else {
            const lunar = solarToLunar(targetDate);
            lunarMonth = lunar ? CONFIG.LUNAR_MONTHS[lunar.month - 1] : "";
            lunarDay = lunar ? toChineseDay(lunar.day) : "";
        }
        return { year, month, day, week, lunarMonth, lunarDay, dayGanZhi, dayAnimal };
    }
    function updateCalendar() {
        const info = getCalendarInfo(new Date());
        calendarDiv.innerHTML = `
            ${info.year}年${info.month}月${info.day}日 ${info.week}<br>
            农历:${info.lunarMonth}${info.lunarDay}<br>
            ${info.dayGanZhi}日(${info.dayAnimal})
        `;
    }
    updateCalendar();
    setInterval(updateCalendar, 60000);

    window.addEventListener('scroll', function(){
        if(window.scrollY > 10){
            calendarDiv.style.opacity = '0';
        }else{
            calendarDiv.style.opacity = '1';
        }
    });

    // 公安备案号点击跳转
    const siteInfo = document.querySelector('.site-info');
    if (siteInfo) {
        siteInfo.style.cursor = 'pointer';
        siteInfo.addEventListener('click', function() {
            window.open('https://beian.mps.gov.cn/#/query/webSearch?code=53038102530567', '_blank');
        });
    }
});
</script>
News Portal | Theme: News Portal by Mystery Themes.
  • 首页
  • 本地动态
  • 招聘求职
  • 房屋租售
  • 便民信息
联系我们
×
📜 免责声明
×

📜 宣威生活网 免责声明

1. 本网站为个人运营、非经营性、公益性本地生活信息服务平台,仅提供信息发布、展示、交流及便民指引服务,不构成法律、金融、医疗、政务等专业意见,亦不构成任何交易邀约或担保。

2. 平台内所有信息(含招聘、房产、二手、商家、资讯、便民电话等)均由用户自行发布,发布者对信息的真实性、合法性、准确性、完整性承担全部法律责任。本站仅提供信息存储空间服务,不进行人工实质性审核,不承担任何信息核实义务。

3. 用户在依据平台信息进行求职、租房、交易、交友、见面等活动时,应自行审慎核实信息真伪及对方身份,提高风险防范与自我保护意识。由此产生的一切纠纷、损失、人身财产损害及法律后果,均由行为人自行承担,本站不承担任何直接、间接或连带责任。

4. 用户严禁发布虚假、侵权、低俗、违法、涉政、涉黄、涉赌、涉诈及侵害第三方合法权益的内容。违者责任自负,本站有权立即删除、屏蔽相关内容并保留移交相关部门处理的权利。

5. 本站不参与任何线下交易、履约及收费行为,不收取中介费、服务费,不提供任何形式的交易担保。任何第三方以本站名义收取费用的行为均与本站无关。

6. 本站可能包含第三方网站链接,对第三方网站内容、安全性及合法性不承担任何责任,用户跳转后风险自担。

7. 平台部分内容来源于网络及用户分享,如侵犯您的知识产权、肖像权、名誉权等合法权益,请及时联系平台核实处理,本站将依法依规及时处置。

8. 在法律允许的最大范围内,本站不对因使用本站服务引发的任何直接、间接、偶然、特殊或后续损失承担责任,包括但不限于经济损失、数据丢失、人身损害等。

9. 凡浏览、登录、发布信息或以任何方式使用本站服务即视为已阅读、理解并完全同意本声明全部条款。本声明可不定期更新,更新后继续使用即视为接受更新后内容。

10. 本声明适用中华人民共和国法律,因本声明产生的争议,由本站运营者住所地有管辖权的人民法院管辖。