GEE:分数年、儒略日、毫秒、日期互相转换 API 接口介绍
作者:CSDN @ _养乐多_
时间格式转换是在Google Earth Engine(GEE)中处理时间数据的重要方面。无论处理分数年、毫秒还是儒略日,拥有正确的转换函数可以简化工作流程。
本文将介绍在GEE中进行分数年、毫秒、儒略日、年月日之间相互转换的 API 和代码。
示例数据如下,
var exampleMillis = 1609459200000; // 2022-01-01 的毫秒数
var exampleDateString = ‘2022-01-01’; // 年月日
var exampleJdays = 737791.0; // 对应于2022-01-01的儒略日
var exampleFrac = 2022.0027; // 对应于2022年的分数年份
文章目录
- 一、概念
- 1.1 分数年
- 1.2 毫秒
- 1.3 儒略日
- 二、函数
- 三、使用示例
- 3.1 分数年转儒略日
- 3.2 分数年转毫秒
- 3.3 分数年转日期
- 3.4 儒略日转分数年
- 3.5 儒略日转毫秒
- 3.6 儒略日转日期
- 3.7 毫秒数转天数
- 3.8 毫秒数转儒略日
- 3.9 毫秒数转分数年
- 3.10 毫秒数转日期
- 3.11 毫秒数转日期
一、概念
1.1 分数年
分数年是一种将时间表示为小数的格式,例如,2024年的中间将表示为2024.5。
1.2 毫秒
Unix时间(毫秒级)是指自1970年1月1日午夜以来的毫秒数。
1.3 儒略日
儒略日是一种以一年中的天数(1至365或366)来表示时间的格式。通常情况下是指365天,闰年366天。
二、函数
- fracToDateJdays:将分数年转换为儒略日。
- fracToms: 将分数年转换为毫秒数。
- fracToDate: 将分数年转换为ee.Date对象。
- jdaysToFrac: 将公元纪元的儒略日转换为分数年。
- jdaysToms: 将公元纪元的儒略日转换为毫秒数。
- jdaysToDate: 将公元纪元的儒略日转换为ee.Date对象。
- msToDays: 将毫秒数转换为天数。
- msToJdays: 将毫秒数转换为公元纪元的儒略日。
- msToFrac: 将毫秒数转换为分数年。
- msToDate: 将毫秒数转换为ee.Date对象。
- dateToJdays: 将日期字符串转换为公元纪元的儒略日。
三、使用示例
示例代码链接:https://code.earthengine.google.com/c114aca0be4bd65a71e8ea4e5045fbd3?noload=true
先定义四种格式的时间示例数据
// 示例数据
var exampleMillis = 1609459200000; // 2022-01-01 的毫秒数
var exampleDateString = '2022-01-01';
var exampleJdays = 737791.0; // 对应于2022-01-01的儒略日
var exampleFrac = 2022.0027; // 对应于2022年的分数年份
引入 js 库
var eedfc = require('users/949384116/lib:Tools/DateFormatsConverter')
3.1 分数年转儒略日
使用示例
var jdaysFromFrac = eedfc.fracToJdays(exampleFrac);
print('分数年对应的儒略日:', jdaysFromFrac);
3.2 分数年转毫秒
使用示例
// 将分数年转换为毫秒数
var msFromFrac = eedfc.fracToms(exampleFrac);
print('分数年对应的毫秒数:', msFromFrac);
3.3 分数年转日期
使用示例
var dateFromFrac = eedfc.fracToDate(exampleFrac);
print('分数年对应的日期:', dateFromFrac);
3.4 儒略日转分数年
使用示例
var fracYearFromJdays = eedfc.jdaysToFrac(exampleJdays);
print('儒略日对应的分数年:', fracYearFromJdays);
3.5 儒略日转毫秒
使用示例
var millisFromJdays = eedfc.jdaysToMillis(exampleJdays);
print('儒略日对应的毫秒数:', millisFromJdays);
3.6 儒略日转日期
使用示例
var dateFromJdays = eedfc.jdaysToDate(exampleJdays);
print('儒略日对应的日期:', dateFromJdays);
3.7 毫秒数转天数
使用示例
var daysFromMillis = eedfc.msToDays(exampleMillis);
print('毫秒数对应的天数:', daysFromMillis);
3.8 毫秒数转儒略日
使用示例
var jdaysFromMillis = eedfc.msToJdays(exampleMillis);
print('毫秒数对应的儒略日:', jdaysFromMillis);
3.9 毫秒数转分数年
使用示例
// 使用 msToFrac 函数将毫秒数转换为分数年
var fracFromMillis = eedfc.msToFrac(exampleMillis);
print('毫秒数对应的分数年:', fracFromMillis);
3.10 毫秒数转日期
使用示例
var dateFromMillis = eedfc.msToDate(exampleMillis);
print('毫秒数对应的日期:', dateFromMillis);
3.11 毫秒数转日期
使用示例
var jdaysFromDateString = eedfc.dateStringToJdays(exampleDateString);
print('日期字符串对应的儒略日:', jdaysFromDateString);