我需要在Scala中将Julian日期(YYYYDDD)转换为格里高利日期(YYYYMMDD)。 我到目前为止:
import java.text.SimpleDateFormat;
val format1 = new java.text.SimpleDateFormat("yyyyddd")
println(format1.parse("2018022"))
结果是:Mon Jan 22 00:00:00 CST 2018
我需要帮助才能以“YYYYMMDD”格式获得输出
答案 0 :(得分:1)
看看这是否适合你。
import java.text.SimpleDateFormat
val format1 = new SimpleDateFormat("yyyyddd")
new SimpleDateFormat("yyyyMMdd").format(format1.parse("2018022"))
//res0: String = 20180122
或者说这可以更好地证明这种关系。
val jDate: String = "2018022"
val gDate: String = new SimpleDateFormat("yyyyMMdd").format(
new SimpleDateFormat("yyyyddd").parse(jDate))
答案 1 :(得分:0)
您可以使用以下功能进行转换。我在my website上使用了相同的功能。
function julian2d($indate) {
$year = substr($indate,0,2);
$day = ltrim(substr($indate,strlen($indate)-3,3),'0'); /* Day part with leading zeroes stripped */
if ($year == 70 && $day == 1) $outdate = 1;
else if ($year == 70) $outdate = ($day-1)*24*60*60;
else if ($year >= 0 && $year <= 99 && $day > 0 && $day <= 366) {
$outdate = strtotime('01-Jan-' . $year); /* Date on Jan 1 of the year */
if ($outdate >= 0) {
$outdate = $outdate + ($day-1)*24*60*60;
} else $outdate = FALSE;
} else $outdate = FALSE;
return $outdate;
}