diff options
author | olamedia <[email protected]> | 2012-10-02 15:27:32 +0600 |
---|---|---|
committer | olamedia <[email protected]> | 2012-10-02 15:27:32 +0600 |
commit | 1c148c52797038ad65854edea41b9979ff6281c1 (patch) | |
tree | 51653b329c3c0e94c870f897c17d73d8f2fa596f /src/ru/olamedia/astronomy/BaseUtils.java | |
parent | cc9219581920a5143e89493019cf0941912d01da (diff) |
night
Diffstat (limited to 'src/ru/olamedia/astronomy/BaseUtils.java')
-rw-r--r-- | src/ru/olamedia/astronomy/BaseUtils.java | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/src/ru/olamedia/astronomy/BaseUtils.java b/src/ru/olamedia/astronomy/BaseUtils.java new file mode 100644 index 0000000..99d351a --- /dev/null +++ b/src/ru/olamedia/astronomy/BaseUtils.java @@ -0,0 +1,89 @@ +package ru.olamedia.astronomy; + +// package com.bradsbrain.simpleastronomy; +/* + * Copyright 2011 Brad Parks + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.text.DateFormat; +import static java.text.DateFormat.SHORT; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.TimeZone; + +public final class BaseUtils { + + public static double exactDaysSince(Calendar myCal, double epoch) { + return JulianDate.makeJulianDateUsingMyModified(myCal) - epoch; + } + + public static Calendar getSafeLocalCopy(long millis) { + // safe local copy + Calendar myCal = Calendar.getInstance(TimeZone.getTimeZone("GMT")); + myCal.clear(); + myCal.setTimeInMillis(millis); + return myCal; + } + + public static double adjustTo360Range(double valToAdjust) { + double howMany = Math.floor(valToAdjust / 360); + double adjustedValue = valToAdjust - (howMany * 360); + return adjustedValue; + } + + public static double sinDegrees(double angleInDegrees) { + return Math.sin(Math.toRadians(angleInDegrees)); + } + + public static double cosDegrees(double angleInDegrees) { + return Math.cos(Math.toRadians(angleInDegrees)); + } + + public static double useLessPrecision(double d, int precision) { + double digits = Math.pow(10, precision); + return Math.round(d * digits) / digits; + } + + /** + * Useful date-to-string formatting which I found myself using a lot + * + * @param moonDate + * @return the date in GMT timezone + */ + public static String formatDateForGMT(Date moonDate) { + DateFormat sdf = SimpleDateFormat.getDateInstance(SHORT); + ((SimpleDateFormat) sdf).applyPattern("yyyy-MM-dd"); + ((SimpleDateFormat) sdf).setTimeZone(TimeZone.getTimeZone("GMT")); + return sdf.format(moonDate); + } + + /** + * Useful date-to-string formatting which I found myself using a lot + * + * @param moonDate + * @param tz + * the timezone with which to format the date + * @return the date in whatever timezone is default + */ + public static String formatDateAsShortDateLocalTime(Date moonDate, + TimeZone tz) { + DateFormat sdf = SimpleDateFormat.getDateInstance(SHORT); + sdf.setTimeZone(tz); + ((SimpleDateFormat) sdf).applyPattern("yyyy-MM-dd"); + return sdf.format(moonDate); + } + +}
\ No newline at end of file |