GEE:分数年、儒略日、毫秒、日期互相转换 API 接口介绍

发布时间:2024年01月07日

作者: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 分数年

分数年是一种将时间表示为小数的格式,例如,2024年的中间将表示为2024.5。

1.2 毫秒

Unix时间(毫秒级)是指自1970年1月1日午夜以来的毫秒数。

1.3 儒略日

儒略日是一种以一年中的天数(1至365或366)来表示时间的格式。通常情况下是指365天,闰年366天。

二、函数

  1. fracToDateJdays:将分数年转换为儒略日。
  2. fracToms: 将分数年转换为毫秒数。
  3. fracToDate: 将分数年转换为ee.Date对象。
  4. jdaysToFrac: 将公元纪元的儒略日转换为分数年。
  5. jdaysToms: 将公元纪元的儒略日转换为毫秒数。
  6. jdaysToDate: 将公元纪元的儒略日转换为ee.Date对象。
  7. msToDays: 将毫秒数转换为天数。
  8. msToJdays: 将毫秒数转换为公元纪元的儒略日。
  9. msToFrac: 将毫秒数转换为分数年。
  10. msToDate: 将毫秒数转换为ee.Date对象。
  11. 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);
文章来源:https://blog.csdn.net/qq_35591253/article/details/135434670
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。