🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
Duration.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstUtil/Constants.h"
25#include <stdint.h> // for int64_t
26
27AST_NAMESPACE_BEGIN
28
38{
39public:
40 double second() const{return second_;}
41 double& second(){return second_;}
42public:
43 double second_; // 秒数
44};
45
46
49{
50public:
52 int64_t integer() const{return integer_;}
53 int64_t& integer(){return integer_;}
55 double fractional() const{return fractional_;}
56 double& fractional(){return fractional_;}
57
61 double operator-(const LongDuration& other) const{
62 return minusInSecond(other);
63 }
64
68 double minusInSecond(const LongDuration& other) const{
69 return (integer_ - other.integer_) + (fractional_ - other.fractional_);
70 }
71
75 double minusInMinute(const LongDuration& other) const{
76 return (integer_ - other.integer_) / kSecondsPerMinute + (fractional_ - other.fractional_) / kSecondsPerMinute;
77 }
78
79 double minusInHour(const LongDuration& other) const{
80 return (integer_ - other.integer_) / kSecondsPerHour + (fractional_ - other.fractional_) / kSecondsPerHour;
81 }
82
86 double minusInDay(const LongDuration& other) const{
87 return (integer_ - other.integer_) / kSecondsPerDay + (fractional_ - other.fractional_) / kSecondsPerDay;
88 }
89
90public:
91 int64_t integer_; // 整数秒部分
92 double fractional_; // 小数秒部分
93};
94
95
98{
99public:
101 int day() const{return day_;}
102 int& day(){return day_;}
103
105 double second() const{return second_;}
106 double& second(){return second_;}
111 double totalSecond() const{return day_ * 86400.0 + second_;}
112public:
113 int day_; // 整数天部分
114 double second_; // 小数秒部分
115};
116
117
120AST_NAMESPACE_END
121
long int integer
定义 MockSnopt.c:24
Unit day
定义 Unit.cpp:430
整数天 + 小数秒时长(也能解决长时长问题)
定义 Duration.hpp:98
double second() const
获取小数部分的秒数
定义 Duration.hpp:105
double totalSecond() const
定义 Duration.hpp:111
int day() const
获取整数天部分
定义 Duration.hpp:101
长时长
定义 Duration.hpp:49
int64_t integer() const
获取整数秒部分
定义 Duration.hpp:52
double minusInSecond(const LongDuration &other) const
时长减法方法(秒)
定义 Duration.hpp:68
double minusInMinute(const LongDuration &other) const
时长减法方法(分钟)
定义 Duration.hpp:75
double fractional() const
获取小数秒部分
定义 Duration.hpp:55
double minusInDay(const LongDuration &other) const
时长减法方法(天)
定义 Duration.hpp:86
double operator-(const LongDuration &other) const
时长减法运算符
定义 Duration.hpp:61
短时长
定义 Duration.hpp:38
constexpr double kSecondsPerMinute
一分钟的秒数
定义 Constants.h:206
constexpr double kSecondsPerHour
一小时的秒数
定义 Constants.h:205
constexpr double kSecondsPerDay
一天的秒数
定义 Constants.h:204