很多人可能用过如下的功能:

我向微信号发个字符,然后后台去解析字符,拆出其中的关键字,然后去数据库查询是否开启此项服务,如果服务开启,则返回给用户调用此服务的结果。

最近两天开始做的服务有,天气查询,日历,快递,火车,黄金。。。等六个服务做成接口,今天要分析的是这里面唯一没有调用外部API接口的服务。

首先,我们要写好一个计算农历的方法,:

#region 获取农历方法///<summary>/// 实例化一个 ChineseLunisolarCalendar///</summary>private static ChineseLunisolarCalendar ChineseCalendar = new ChineseLunisolarCalendar();///<summary>/// 十天干///</summary>private static string[] tg = { "甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸" };///<summary>/// 十二地支///</summary>private static string[] dz = { "子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥" };///<summary>/// 十二生肖///</summary>private static string[] sx = { "鼠", "牛", "虎", "免", "龙", "蛇", "马", "羊", "猴", "鸡", "狗", "猪" };///<summary>/// 返回农历天干地支年///</summary>///<param name="year">农历年</param>///<return s></return s>public static string GetLunisolarYear(int year){if (year > 3){int tgIndex = (year - 4) % 10;int dzIndex = (year - 4) % 12;return string.Concat(tg[tgIndex], dz[dzIndex], "[", sx[dzIndex], "]");}throw new ArgumentOutOfRangeException("无效的年份!");}///<summary>/// 农历月///</summary>///<return s></return s>private static string[] months = { "正", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二(腊)" };///<summary>/// 农历日///</summary>private static string[] days1 = { "初", "十", "廿", "三" };///<summary>/// 农历日///</summary>private static string[] days = { "一", "二", "三", "四", "五", "六", "七", "八", "九", "十" };///<summary>/// 返回农历月///</summary>///<param name="month">月份</param>///<return s></return s>public static string GetLunisolarMonth(int month){if (month < 13 && month > 0){return months[month - 1];}throw new ArgumentOutOfRangeException("无效的月份!");}///<summary>/// 返回农历日///</summary>///<param name="day">天</param>///<return s></return s>public static string GetLunisolarDay(int day){if (day > 0 && day < 32){if (day != 20 && day != 30){return string.Concat(days1[(day - 1) / 10], days[(day - 1) % 10]);}else{return string.Concat(days[(day - 1) / 10], days1[1]);}}throw new ArgumentOutOfRangeException("无效的日!");}///<summary>/// 根据公历获取农历日期///</summary>///<param name="datetime">公历日期</param>///<return s></return s>public static string GetChineseDateTime(DateTime datetime){int year = ChineseCalendar.GetYear(datetime);int month = ChineseCalendar.GetMonth(datetime);int day = ChineseCalendar.GetDayOfMonth(datetime);//获取闰月, 0 则表示没有闰月int leapMonth = ChineseCalendar.GetLeapMonth(year);bool isleap = false;if (leapMonth > 0){if (leapMonth == month){//闰月isleap = true;month--;}else if (month > leapMonth){month--;}}return string.Concat(GetLunisolarYear(year), "年", isleap ? "闰" : string.Empty, GetLunisolarMonth(month), "月", GetLunisolarDay(day));}#endregion

接着,拼接好返回的字符:

  Console.Write(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "\r\n" + "农历为:"+GetChineseDateTime(DateTime.Now));

为了测试外部调用的情况,我们可以这样,一个ajax过来,然后提交到handler里面,handler调用这些接口来测试下。

需要注意的是,

1,拼接好的字符串里面的换行符最好是HTML标签中的<br/>,不使用\n;

2,调用百度等大型开发平台的API接口的时候,对于返回的JSON,处理JSON转对象的时候,要注意JSON里面数组都要变成LIST,然后再调用自己构造的泛型方法去转换。

下面分享一些私人手藏的接口:

http://api.ajaxsns.com/

http://www.djdkx.com/open/randxml

http://api.map.baidu.com/telematics/v3/weather?location=%E5%8C%97%E4%BA%AC&output=json&ak=这里填写自己的AK

http://www.twototwo.cn/train/QueryTrainScheduleByNumber.aspx

http://www.chepiao100.com/my/doc/checi.html

http://www.haoservice.com/apilist/

http://www.bejson.com/go.html?u=http://www.bejson.com/webInterface.html

网上也有很多付费的接口,另外,今天做黄金查询的时候,发现了个聚合数据也不错哟~

微信平台开发——日历服务相关推荐

  1. 微信平台开发的基本步骤讲解

    微信平台开发基本步骤: 第一步骤:申请一个微信公众平台账号.地址:http://mp.weixin.qq.com 第二步骤:创建一个web应用-Hello 第三步骤:创建一个Servlet -wenx ...

  2. 【渝粤题库】广东开放大学 微信平台开发与应用 形成性考核 (2)

    选择题 题目: 以下哪些功能是属于微信的? 题目: 认证过的订阅号的底部是否可以直接链接到外部链接? 题目: 下面哪些属于页面前端开发技术? 题目: 那种情况下的公众号可以申请微信支付? 题目: 单选 ...

  3. 【渝粤题库】广东开放大学 微信平台开发与应用 形成性考核

    选择题 题目: 以下哪些功能是属于微信的? 题目: 认证过的订阅号的底部是否可以直接链接到外部链接? 题目: 下面哪些属于页面前端开发技术? 题目: 那种情况下的公众号可以申请微信支付? 题目: 单选 ...

  4. 微信平台开发与微信营销

    一个二维码,一个商家在线商城,一套管理系统及平台,一个营销渠道,一个时机 1998年马化腾开QQ,让你注册,你不注册,现在一个5位数的QQ好几万: 2003年马云说开淘宝店不要钱,让你开店,你不开,1 ...

  5. 中国移动Mas短信平台开发增值服务的一些心得

    Mas短信开发增值服务平台建设 中国移动MAS机的知识本人不是很熟悉,只知道如何使用它和.net开发链接起来做短信发布,下面是我在网上看到的一些介绍: 移动代理服务器 Mobile Agent Ser ...

  6. 微信公众平台开发模板消息php,微信平台开发模板消息(php).pdf

    目录 写在最前面 设置模板消息行业属性 设置消息模板具体API列子 行业代码查询 获取模板行业信息 获取模板行业信息具体API例子 查看行业属性信息 获取模板行业属性API例子 获取用户openID ...

  7. 微信平台开发1--开发者模式基本配置

    网上有很多教程,这里作为本人学习笔记记录.网上教程大多是PHP版本,由于我比较喜欢Java,这里用Java进行配置. 基本步骤参考官网 填写好token和URL之后下面要求验证服务器地址有效性 下面是 ...

  8. 微信平台开发学习笔记二(翻译功能的实现)

    参考http://www.cnblogs.com/mchina/p/3170565.html 不过看看这些前辈写这些东西的时间,就是感慨啊,13年我还没用微信呢 这里只是简单的实现有道的翻译功能,并且 ...

  9. 微信lbs开发java_【微信公众平台开发】之三:LBS的开发

    1.相关资料 *当有道翻译遇到微信公众平台{有道翻译API.百度LBS} *百度地图服务接口包括 对微信平台来讲,如果用户发送的地理位置信息,那我们就可以得到经纬度,再通过API即可得到用户当前地理位 ...

最新文章

  1. 社会网络计算与社会网络分析、核心指标有哪些?社会网络计算有什么意义?
  2. android中xml文件的生成与读取(Pull)
  3. 【ACM】会场安排问题
  4. MAC--PPTP教程
  5. 2020年最具“钱途”的编程语言
  6. OpenCV--罗德里格斯(Rodrigues)变换
  7. C++指针和引用的区别
  8. 困兽之斗!使用JavaScript执行客户端的exe文件(excute the .exe file on client-side machine by JavaScript)...
  9. Jmeter使用HTTP代理服务器无法打开网页问题的解决方法
  10. linux需要添加一个根分区才能安装,linux 根分区扩展
  11. macbook M1 brew install失败
  12. ThinkPad安装ALPS驱动后任然关闭触摸板失败的解决方法
  13. kirin710f是什么处理器_hisiliconkirin710是什么处理器
  14. u8 客户端修改服务器地址,u8服务器地址怎么修改
  15. oracle与用友的差别,用友U9 PK SAP/Oracle:敢比就是赢
  16. android通知栏显示,通知栏点击事件监听
  17. Linux下的Java配置
  18. 在IT行业中,程序员的学历重要吗?
  19. c++i/o系统 纯。
  20. 2023年网络安全竞赛——Python渗透测试PortScan.py

热门文章

  1. 上海电气和Bentley软件拉升合作挡位 提速奔赴零碳目标
  2. html5media使用api,html5中media(播放器)的api使用指南.pdf
  3. ngnix部署静态服务器
  4. 从零搭建本地pypi镜像源2:下载清华pypi镜像源
  5. 三线国产手机“剑走偏锋”
  6. 向《童子军规则》致敬
  7. 处女座——菜鸟程序员的工程总结
  8. 电磁原理---发电机
  9. 如何优化项目人工工时的成本?
  10. 深度强化学习控制移动机器人