天气预报 获取节气的代码

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);
	}

}

输出:

冬至
--------

时间: 2024-10-31 02:35:44

天气预报 获取节气的代码的相关文章

asp 获取地址栏参数代码

asp 获取地址栏参数代码 ============================================ 函数名:JoinChar 作  用:向地址中加入 ? 或 & 参  数:strUrl  ----网址 返回值:加了 ? 或 & 的网址 pos=InStr(1,"abcdefg","cd") 则pos会返回3表示查找到并且位置为第三个字符开始. 这就是"查找"的实现,而"查找下一个"功能的 实现

javascript 获取网页标题代码实例

 这篇文章主要介绍了javascript 获取网页标题代码实例,有需要的朋友可以参考一下 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&

两种js获取当前域名代码

 今天给各位朋友介绍两种js获取当前域名  代码如下 //获取当前域名 1.window.location.host; 2.document.domain; //获取当前页面地址 url = window.location.href;   例子  代码如下 <script language="javascript"> //获取域名 host = window.location.host; host2=document.domain; //获取页面完整地址 url = win

javascript 获取网页标题代码实例_javascript技巧

复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="

求一段能获取COOKIE的代码!

问题描述 求一段能获取COOKIE的代码!COOKIE格式如下:Cookie:PNT_=UserID=3&UserName=123&Password=202cb962ac59075b964b07152d234b70&expires=30;ASPSESSIONIDAARAQASC=DNBIKFOCAMHFABKAIPCLNOHH 解决方案 解决方案二:if(request.cookie[""]!=null){stringID=request.cookie[&quo

高并发之Memcached实战第10课-“Memcached Get获取数据”部分代码分享2

高并发之Memcached实战第10课-"Memcached Get获取数据"部分代码分享2 一.Memcached客户端读写在同一个程序的逻辑: MemcachedClient mcc = new MemcachedClient(list); if(mcc.get("something")==null) { if(!DataFactory.Exist(somethingObject)) { DataFactory.StoreInDB(somethingObject

JS传递对象数组为参数给后端,后端获取的实例代码_javascript技巧

前端JS代码: var conditons = []; var test1 = new Object(); test1.name="1"; test1.id="2"; var test2 = new Object(); test2.name="1"; test2.id="2"; conditons.push(test1); conditons.push(test2); $(function(){ $.ajax({ async:

js /jquery 获取cookie值代码

js /jquery 获取cookie值代码 */ function getcookie(name, dc){       var cname = name + "=";     if (dc.length > 0){           var begin = dc.indexof(cname);         if (begin != -1){               begin += cname.length;               end = dc.index

asp.net cookie值获取 删除 显示代码

asp教程.net cookie值获取  删除 显示代码 cookie 是一小段文本信息,伴随着用户请求和页面在 web 服务器和浏览器之间传 递.cookie 包含每次用户访问站点时 web 应用程序都可以读取的信息. 例如,如果在用户请求站点中的页面时应用程序发送给该用户的不仅仅是一个页面 ,还有一个包含日期和时间的 cookie,用户的浏览器在获得页面的同时还获得了 该 cookie,并将它存储在用户硬盘上的某个文件夹中.   设置cookie <%@ page language="