天气预报 获取节气的代码
来源:互联网 发布:淘宝达人是干嘛的 编辑:程序博客网 时间:2024/06/11 10:39
package com.zzk.cn;import java.util.*;public class SolarTerm {public static void main(String[] s) throws Exception {SolarTerm st = new SolarTerm();if (s.length == 3) {System.out.println(st.getSoralTerm(Integer.parseInt(s[0]),Integer.parseInt(s[1]), Integer.parseInt(s[2])));}System.out.println(st.getSoralTerm(2011, 12, 22));System.out.println(st.getSoralTerm(2011, 12, 24)+"--------");}final static long[] STermInfo = new long[] { 0, 21208, 42467, 63836, 85337,107014, 128867, 150921, 173149, 195551, 218072, 240693, 263343,285989, 308563, 331033, 353350, 375494, 397447, 419210, 440795,462224, 483532, 504758 };private static final String[] SolarTerm = new String[] { "小寒", "大寒", "立春","雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑","立秋", "处暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪", "冬至" };public SolarTerm() {}/** 核心方法 根据日期得到节气 */public String getSoralTerm(Date Date) {Calendar cal = Calendar.getInstance();cal.setTime(Date);int y = cal.get(Calendar.YEAR);int m = cal.get(Calendar.MONTH) + 1;int d = cal.get(Calendar.DAY_OF_MONTH);return getSoralTerm(y, m, d);}/** 核心方法 根据日期(y年m月d日)得到节气 */public String getSoralTerm(int y, int m, int d) {String solarTerms;if (d == sTerm(y, (m - 1) * 2))solarTerms = SolarTerm[(m - 1) * 2];else if (d == sTerm(y, (m - 1) * 2 + 1))solarTerms = SolarTerm[(m - 1) * 2 + 1];else {// 到这里说明非节气时间solarTerms = "";}return solarTerms;}// ===== y年的第n个节气为几日(从0小寒起算)private int sTerm(int y, int n) {Calendar cal = Calendar.getInstance();cal.set(1900, 0, 6, 2, 5, 0);long temp = cal.getTime().getTime();cal.setTime(new Date((long) ((31556925974.7 * (y - 1900) + STermInfo[n] * 60000L) + temp)));return cal.get(Calendar.DAY_OF_MONTH);}}
输出:
冬至
--------
- 天气预报 获取节气的代码
- 天气预报 获取九天系统时间的代码
- 天气预报 获取日出日落的代码
- 获取农历、节气、星座的一个类
- 免费获取天气预报代码
- java获取新浪天气预报代码
- java获取新浪天气预报代码
- php,java获取天气预报代码
- Java获取新浪天气预报代码
- 获取农历节日.节气
- 天气预报的代码
- 定制天气预报的代码
- IOS 获取农历节日 节气
- 获取农历节日、节气方法
- 24节气的MonthCalendar
- 4行Python代码获取所在城市天气预报
- 获取新浪天气预报的功能
- python 获取省份的天气预报
- oracle存储过程实现增删改简单示例
- 调用存储过程
- VisualBasic6 视频教程
- grails-数据库编程(详见http://www.kuqin.com/grails-doc-1.0/guide/single.html)
- Hibernate学习笔记14 核心开发接口(重点)
- 天气预报 获取节气的代码
- JS控制只能输入数字
- HTML特效代码大全
- Java stack and heap definitions
- Linux下的多线程编程
- 调用Oracle存储过程返回(1个或多个)数据集
- 一个可以上bug榜top 100的的的的bug.
- Linux系统内核源代码分析方法
- read 系统调用剖析