• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java SunriseSunsetCalculator类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.luckycatlabs.sunrisesunset.SunriseSunsetCalculator的典型用法代码示例。如果您正苦于以下问题:Java SunriseSunsetCalculator类的具体用法?Java SunriseSunsetCalculator怎么用?Java SunriseSunsetCalculator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



SunriseSunsetCalculator类属于com.luckycatlabs.sunrisesunset包,在下文中一共展示了SunriseSunsetCalculator类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: makeTimeOfDay

import com.luckycatlabs.sunrisesunset.SunriseSunsetCalculator; //导入依赖的package包/类
public static TypeOfDay makeTimeOfDay(DateTime whenDT, double lat, double lon, TimeZoneGetter tzGetter, Logger lg) {
	Location location = new Location(lat, lon);
	
	Calendar when = whenDT.toCalendar(Locale.US);
	DateTimeZone dtz = tzGetter.getTimeZone(new LatLonPair(lat,lon));
	String tzid = dtz.getID();
	LocalTime tod = new LocalTime(whenDT);
	
	SunriseSunsetCalculator calculator = new SunriseSunsetCalculator(location, tzid);
	Calendar rise = calculator.getNauticalSunriseCalendarForDate(when);
	Calendar set = calculator.getNauticalSunsetCalendarForDate(when);
	DateTime riseDatetime = (new DateTime(rise.getTime())).withZone(dtz);
	LocalTime risedt =  new LocalTime(riseDatetime);
	DateTime setDatetime = (new DateTime(set.getTime())).withZone(dtz);
	LocalTime setdt =  new LocalTime(setDatetime);
	
	if(tod.isBefore(risedt.minusMinutes(30))) return TypeOfDay.NIGHTTIME;
	if(tod.isBefore(risedt.plusMinutes(90))) return TypeOfDay.MORNING;
	if(tod.isBefore(setdt.minusMinutes(90))) return TypeOfDay.DAYTIME;
	if(tod.isBefore(setdt.plusMinutes(30))) return TypeOfDay.EVENING;
	return TypeOfDay.NIGHTTIME;
}
 
开发者ID:windbender,项目名称:wildlife-camera-machine,代码行数:23,代码来源:HibernateDataStore.java


示例2: calculateNextAlert

import com.luckycatlabs.sunrisesunset.SunriseSunsetCalculator; //导入依赖的package包/类
/**
 * Calculate the time of the next alert after {@link cal}.
 * 
 * @param cal
 * @return
 */
public Calendar calculateNextAlert(Calendar cal,
        SunsetDefinition sunsetDefinition, int offsetInMinutes,
        String locationString) {
	String[] parts = locationString.split(",");
	Location location = new Location(parts[0], parts[1]);
	SunriseSunsetCalculator calculator = new SunriseSunsetCalculator(
	        location, cal.getTimeZone());
	Calendar alertTime = getSunsetCalendar(cal, sunsetDefinition,
	        calculator);
	alertTime.add(Calendar.MINUTE, offsetInMinutes);
	// advance a day if alert time has already passed for today
	if (!alertTime.after(cal)) {
		Calendar calCopy = Calendar.getInstance(cal.getTimeZone());
		calCopy.setTime(cal.getTime());
		calCopy.add(Calendar.DATE, 1);
		alertTime = getSunsetCalendar(calCopy, sunsetDefinition, calculator);
		alertTime.add(Calendar.MINUTE, offsetInMinutes);
	}
	return alertTime;
}
 
开发者ID:tomwhite,项目名称:chickenalerts,代码行数:27,代码来源:AlertTimeCalculator.java


示例3: createCalculator

import com.luckycatlabs.sunrisesunset.SunriseSunsetCalculator; //导入依赖的package包/类
private void createCalculator() throws ExecutionFailure {
    if (m_LatLong == null || m_LatLong.trim().length() == 0)
        throw new ExecutionFailure("Missing latitude and longitude");
    if (m_timeZoneIdentifier == null || m_timeZoneIdentifier.trim().length() == 0)
        throw new ExecutionFailure("Missing time zone identifier");

    String ll[] = m_LatLong.split(",");
    if (ll.length != 2)
        throw new ExecutionFailure("Illegal lat/long format, use 'long,lat'");

    ll[0] = ll[0].trim();
    ll[1] = ll[1].trim();

    // Location of sunrise/set, as latitude/longitude.
    Location location = new Location(ll[0], ll[1]);
    // Create m_calculator object with the location and time zone
    // identifier.
    m_calculator = new SunriseSunsetCalculator(location,
            m_timeZoneIdentifier);
}
 
开发者ID:stefangs,项目名称:NetHomeServer,代码行数:21,代码来源:FlexableAlarm.java


示例4: getSunriseAndSunset

import com.luckycatlabs.sunrisesunset.SunriseSunsetCalculator; //导入依赖的package包/类
public static Pair<String, String> getSunriseAndSunset(Location location, String timezone) {
    SunriseSunsetCalculator calculator = new SunriseSunsetCalculator(
            new com.luckycatlabs.sunrisesunset.dto.Location(location.getLatitude(), location.getLongitude()),
            timezone
    );
    String officialSunriseString = calculator.getOfficialSunriseForDate(Calendar.getInstance());
    String officialSunsetString = calculator.getOfficialSunsetForDate(Calendar.getInstance());
    officialSunrise = calculator.getOfficialSunriseCalendarForDate(Calendar.getInstance());
    officialSunset = calculator.getOfficialSunsetCalendarForDate(Calendar.getInstance());
    return new Pair<>(officialSunriseString, officialSunsetString);
}
 
开发者ID:jimmykane,项目名称:Athletica,代码行数:12,代码来源:SunriseSunsetHelper.java


示例5: refreshSunriseSunsetTime

import com.luckycatlabs.sunrisesunset.SunriseSunsetCalculator; //导入依赖的package包/类
public static void refreshSunriseSunsetTime(Context context) {
    String[] latLong = getLatLong(context);

    if(latLong != null) {
        SharedPreferences pref = getSharedPreferences(context);
        com.luckycatlabs.sunrisesunset.dto.Location location = new com.luckycatlabs.sunrisesunset.dto.Location(latLong[0], latLong[1]);
        SunriseSunsetCalculator calculator = new SunriseSunsetCalculator(location, pref.getString("time_zone", TimeZone.getDefault().getID()));

        SharedPreferences.Editor editor = pref.edit();
        editor.putString("start_time", calculator.getOfficialSunsetForDate(Calendar.getInstance()));
        editor.putString("end_time", calculator.getOfficialSunriseForDate(Calendar.getInstance()));

        editor.apply();
    }
}
 
开发者ID:farmerbb,项目名称:Night-Light,代码行数:16,代码来源:U.java


示例6: getSunsetCalendar

import com.luckycatlabs.sunrisesunset.SunriseSunsetCalculator; //导入依赖的package包/类
private Calendar getSunsetCalendar(Calendar cal,
        SunsetDefinition sunsetDefinition,
        SunriseSunsetCalculator calculator) {
	switch (sunsetDefinition) {
	case OFFICIAL:
		return calculator.getOfficialSunsetCalendarForDate(cal);
	case CIVIL:
	default:
		return calculator.getCivilSunsetCalendarForDate(cal);
	}
}
 
开发者ID:tomwhite,项目名称:chickenalerts,代码行数:12,代码来源:AlertTimeCalculator.java


示例7: computeAndSaveTime

import com.luckycatlabs.sunrisesunset.SunriseSunsetCalculator; //导入依赖的package包/类
/**
 * Computes sunset and sunrise time and saves in the preference
 * @param context Ok where was the shrug emoji again?
 * @param onComputeCompleteListener OnComputeListener to invoke when compute is completed
 * @return Current instance
 */
public TwilightManager computeAndSaveTime(Context context, OnComputeCompleteListener onComputeCompleteListener) {
    Location mLocation = new Location(latitude, longitude);

    SunriseSunsetCalculator sunriseSunsetCalculator = new SunriseSunsetCalculator(mLocation, TimeZone.getDefault());
    Calendar calendar = Calendar.getInstance();

    String sunsetTime = sunriseSunsetCalculator.getOfficialSunsetForDate(calendar);
    String sunriseTime = sunriseSunsetCalculator.getOfficialSunriseForDate(calendar);

    PreferenceHelper.putString(context, Constants.PREF_START_TIME, sunsetTime);
    PreferenceHelper.putString(context, Constants.PREF_END_TIME, sunriseTime);

    AlarmUtils.setAlarms(context, sunsetTime, sunriseTime, false);

    if (onComputeCompleteListener != null) onComputeCompleteListener.onComputeComplete();;

    return this;
}
 
开发者ID:corphish,项目名称:NightLight,代码行数:25,代码来源:TwilightManager.java


示例8: setLocation

import com.luckycatlabs.sunrisesunset.SunriseSunsetCalculator; //导入依赖的package包/类
public void setLocation(Location location) {
    double distance = Math.round(GeoUtils.distance(curlat, curlon, location.getLatitude(), location.getLongitude()));
    Log.d(TAG, "setLocation " + location + " distance moved " + distance);
    curLocation = location;
    curlat = location.getLatitude();
    curlon = location.getLongitude();
    m_prefs.edit().putFloat("latitude", (float)curlat).putFloat("longitude", (float)curlon).apply();
    Calendar today = Calendar.getInstance();
    com.luckycatlabs.sunrisesunset.dto.Location lcLocation = new com.luckycatlabs.sunrisesunset.dto.Location(curlat, curlon);
    SunriseSunsetCalculator calculator = new SunriseSunsetCalculator(lcLocation, today.getTimeZone());
    Calendar sunrise = calculator.getOfficialSunriseCalendarForDate(today);
    Calendar sunset = calculator.getOfficialSunsetCalendarForDate(today);
    if (sunrise == null) {
        sunriseHour = 0;
        sunsetMinute = 0;
    } else {
        Log.d(TAG, "sunrise " + sunrise.getTime() + ", sunset " + sunset.getTime());
        sunriseHour = sunrise.get(Calendar.HOUR_OF_DAY);
        sunriseMinute = sunrise.get(Calendar.MINUTE);
    }
    if (sunset == null) {
        sunsetHour = 0;
        sunsetMinute = 0;
    } else {
        sunsetHour = sunset.get(Calendar.HOUR_OF_DAY);
        sunsetMinute = sunset.get(Calendar.MINUTE);
    }
    for (WeatherListener l : m_listeners)
        l.updateSunriseSunset(sunriseHour, sunriseMinute, sunsetHour, sunsetMinute);
    if (curLocationDistance < 0 || distance > m_locationThreshold)
        updateWeather(true); // immediately because we know the location has changed, substantially enough
    boolean locationNameFound = false;
    curLocationName = "";
    curLocationDistance = -1;
    if (!m_database.openRW())
        Log.e(TAG, "failed to open database");
    else {
        Address here = m_database.getNearestLocation(curlat, curlon);
        Log.d(TAG, "locality from database: " + here);
        if (here != null) {
            addLocality(here.getLocality(), here.getCountryCode(), here.getLatitude(), here.getLongitude(),
                    (int)Math.round(GeoUtils.distance(curlat, curlon, here.getLatitude(), here.getLongitude())));
            locationNameFound = true;
        }
    }
    if (!locationNameFound) {
        Log.d(TAG, "locality unknown, asking Gisgraphy");
        geocoderTask = new GisgraphySearchTask(this) {
            @Override
            protected void onPostExecute(List<Address> addrs) {
                super.onPostExecute(addrs);
                geocoderTask = null;
            }
        };
        geocoderTask.execute(curLocation);
    }
    ++m_locationUpdateCount;
}
 
开发者ID:ec1oud,项目名称:sologyr,代码行数:59,代码来源:WeatherService.java


示例9: getCalculator

import com.luckycatlabs.sunrisesunset.SunriseSunsetCalculator; //导入依赖的package包/类
protected SunriseSunsetCalculator getCalculator() throws ExecutionFailure {
    if (m_calculator == null)
        createCalculator();
    return m_calculator;
}
 
开发者ID:stefangs,项目名称:NetHomeServer,代码行数:6,代码来源:FlexableAlarm.java



注:本文中的com.luckycatlabs.sunrisesunset.SunriseSunsetCalculator类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Tiger类代码示例发布时间:2022-05-22
下一篇:
Java XExpression类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap