summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--core/bind/core_bind.cpp7
-rw-r--r--core/bind/core_bind.h4
-rw-r--r--core/os/os.h4
-rw-r--r--doc/base/classes.xml36
-rw-r--r--drivers/unix/os_unix.cpp3
-rw-r--r--platform/nacl/os_nacl.cpp6
7 files changed, 45 insertions, 18 deletions
diff --git a/.gitignore b/.gitignore
index bf5be79d55..15ca139916 100644
--- a/.gitignore
+++ b/.gitignore
@@ -65,6 +65,9 @@ platform/android/libs/play_licensing/gen/*
.deps/*
.dirstamp
+# Vim temp files
+*.swo
+*.swp
# QT project files
*.config
diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp
index bf611f89c9..915cbc0578 100644
--- a/core/bind/core_bind.cpp
+++ b/core/bind/core_bind.cpp
@@ -508,11 +508,11 @@ Dictionary _OS::get_time(bool utc) const {
}
/**
- * Get a dictionary of time values when given epoc time
+ * Get a dictionary of time values when given epoch time
*
* Dictionary Time values will be a union if values from #get_time
* and #get_date dictionaries (with the exception of dst =
- * day light standard time, as it cannot be determined from epoc)
+ * day light standard time, as it cannot be determined from epoch)
*/
Dictionary _OS::get_time_from_unix_time( uint64_t unix_time_val) const {
@@ -552,7 +552,8 @@ Dictionary _OS::get_time_from_unix_time( uint64_t unix_time_val) const {
imonth++;
}
- date.month = static_cast<OS::Month>(imonth);
+ /// Add 1 to month to make sure months are indexed starting at 1
+ date.month = static_cast<OS::Month>(imonth+1);
date.day = dayno + 1;
diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h
index ab11c4804c..db5ff42cfe 100644
--- a/core/bind/core_bind.h
+++ b/core/bind/core_bind.h
@@ -81,7 +81,9 @@ public:
};
enum Month {
- MONTH_JANUARY,
+ /// Start at 1 to follow Windows SYSTEMTIME structure
+ /// https://msdn.microsoft.com/en-us/library/windows/desktop/ms724950(v=vs.85).aspx
+ MONTH_JANUARY = 1,
MONTH_FEBRUARY,
MONTH_MARCH,
MONTH_APRIL,
diff --git a/core/os/os.h b/core/os/os.h
index 73726feb37..160c0495bb 100644
--- a/core/os/os.h
+++ b/core/os/os.h
@@ -224,7 +224,9 @@ public:
};
enum Month {
- MONTH_JANUARY,
+ /// Start at 1 to follow Windows SYSTEMTIME structure
+ /// https://msdn.microsoft.com/en-us/library/windows/desktop/ms724950(v=vs.85).aspx
+ MONTH_JANUARY = 1,
MONTH_FEBRUARY,
MONTH_MARCH,
MONTH_APRIL,
diff --git a/doc/base/classes.xml b/doc/base/classes.xml
index 04e08f166e..bc8bec4bbf 100644
--- a/doc/base/classes.xml
+++ b/doc/base/classes.xml
@@ -20639,6 +20639,18 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
<description>
</description>
</method>
+ <method name="get_time_from_unix_time" qualifiers="const">
+ <return type="Dictionary">
+ </return>
+ <argument index="0" name="unix_time_val" type="int">
+ </argument>
+ <description>
+ Get a dictionary of time values when given epoch time.
+ Dictionary Time values will be a union of values from [method get_time]
+ and [method get_date] dictionaries (with the exception of dst =
+ day light standard time, as it cannot be determined from epoc)
+ </description>
+ </method>
<method name="get_time_zone_info" qualifiers="const">
<return type="Dictionary">
</return>
@@ -20922,29 +20934,29 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
</constant>
<constant name="DAY_SATURDAY" value="6">
</constant>
- <constant name="MONTH_JANUARY" value="0">
+ <constant name="MONTH_JANUARY" value="1">
</constant>
- <constant name="MONTH_FEBRUARY" value="1">
+ <constant name="MONTH_FEBRUARY" value="2">
</constant>
- <constant name="MONTH_MARCH" value="2">
+ <constant name="MONTH_MARCH" value="3">
</constant>
- <constant name="MONTH_APRIL" value="3">
+ <constant name="MONTH_APRIL" value="4">
</constant>
- <constant name="MONTH_MAY" value="4">
+ <constant name="MONTH_MAY" value="5">
</constant>
- <constant name="MONTH_JUNE" value="5">
+ <constant name="MONTH_JUNE" value="6">
</constant>
- <constant name="MONTH_JULY" value="6">
+ <constant name="MONTH_JULY" value="7">
</constant>
- <constant name="MONTH_AUGUST" value="7">
+ <constant name="MONTH_AUGUST" value="8">
</constant>
- <constant name="MONTH_SEPTEMBER" value="8">
+ <constant name="MONTH_SEPTEMBER" value="9">
</constant>
- <constant name="MONTH_OCTOBER" value="9">
+ <constant name="MONTH_OCTOBER" value="10">
</constant>
- <constant name="MONTH_NOVEMBER" value="10">
+ <constant name="MONTH_NOVEMBER" value="11">
</constant>
- <constant name="MONTH_DECEMBER" value="11">
+ <constant name="MONTH_DECEMBER" value="12">
</constant>
<constant name="SCREEN_ORIENTATION_LANDSCAPE" value="0">
</constant>
diff --git a/drivers/unix/os_unix.cpp b/drivers/unix/os_unix.cpp
index a004a116e0..84b6dc24dc 100644
--- a/drivers/unix/os_unix.cpp
+++ b/drivers/unix/os_unix.cpp
@@ -251,6 +251,9 @@ OS::Date OS_Unix::get_date(bool utc) const {
lt=localtime(&t);
Date ret;
ret.year=1900+lt->tm_year;
+ // Index starting at 1 to match OS_Unix::get_date
+ // and Windows SYSTEMTIME and tm_mon follows the typical structure
+ // of 0-11, noted here: http://www.cplusplus.com/reference/ctime/tm/
ret.month=(Month)(lt->tm_mon + 1);
ret.day=lt->tm_mday;
ret.weekday=(Weekday)lt->tm_wday;
diff --git a/platform/nacl/os_nacl.cpp b/platform/nacl/os_nacl.cpp
index de6a15525b..e2a92ee8c7 100644
--- a/platform/nacl/os_nacl.cpp
+++ b/platform/nacl/os_nacl.cpp
@@ -249,7 +249,11 @@ OS::Date OSNacl::get_date(bool utc) const {
lt=localtime(&t);
Date ret;
ret.year=lt->tm_year;
- ret.month=(Month)lt->tm_mon;
+
+ // Index starting at 1 to match OS_Unix::get_date
+ // and Windows SYSTEMTIME and tm_mon follows the typical structure
+ // of 0-11, noted here: http://www.cplusplus.com/reference/ctime/tm/
+ ret.month=(Month)(lt->tm_mon+1);
ret.day=lt->tm_mday;
ret.weekday=(Weekday)lt->tm_wday;
ret.dst=lt->tm_isdst;