How to convert a Julian date into timestamp in Snowflake - datetime

I have dates like 54940,55001,54970 etc.
I need to convert these dates into yyyy-MM-dd format in snowflake

The following steps should help:
Convert the julian to a gregorian date with a function (the conversion depends on your understanding of a julian date - there are different ones. If you try to google that, you may find several conversion rules)
Convert the string/integer to a date by using TO_DATE() https://docs.snowflake.com/en/sql-reference/functions/to_date.html

Related

How do I get date time into this format in R: 1563921031?

I have to query an API with a date time stamp in R, but I can't figure out how to get my date time entered in and changed into the correct format. An example of a date time stamp that works is 1563921031 and I think it's seconds since an origin time.
Please help!
We can convert to numeric with as.numeric
as.numeric(datetime)

Saving Before Common Era (BCE) Date

I'm creating book writing software.
The problem is, when user create story that happen say in year 200 BCE [ CE / BCE wiki], how to store this date in SQLite so I can sort it like normal DateTime.
The documentation for the built-in date functions says:
These functions only work for dates between 0000-01-01 00:00:00 and 9999-12-31 23:59:59.
However, SQLite does not have a separate data type for dates; it just uses numbers or strings, and interprets them as dates only when you apply a date function to them.
If you do not actually need to use the SQLite date functions, you can use any type and format, as long as it sorts correctly.
Strings like yyyy-mm-dd do not sort correctly for BCE dates, so you have to use numbers (Julian days, or Unix timestamps, or any other format).

Could not identify the datetime string

While going through an API documentation, I found that it returns date-time in the following format.
2015-03-17T13:49:31.2735318-04:00
Apart from the date part in the beginning, I could not recognize the format. What does the various fragments of the above date-time string represent? I want to parse the string to ColdFusion datetime object.
It looks like ISO 8601 format.
The part up to the letter T is the date in yyyy-mm-dd format.
The letter T separates the date and time components.
The time is HH:mm:ss followed by fractions of a second to 7 decimal places.
The -04:00 is the offset from UTC.

Sqlite format date from hour to hour

I want store in my sqlite database date in format DD/MM/YYYY HH:MM-HH:MM there is any solution of this ? I found only that YYYY-MM-DDTHH:MM answer.
SQLite has no specal data type for dates.
You can store dates in any format you want, but if you want to use any of the built-in date functions, you have to use one of the supported date formats.
What you want to store is not a date (a point in time), but a time interval.
There is no built-in support for intervals; the best you can do is to store the start and the end of the interval in two separate columns.
Please note that storing a date and displaying a date are two different things.
It would be easier to compute the length of an interval when the two date values are stored in one of the numeric date formats.

Date conversion query

I've come into possession of hundreds of ascii data files where the date and time are separate columns like so:
date time
1-Jan-08 23:05
I need to convert this to a usable R Date object, subtract 8 hours (timezone conversion from UTC to Pacific) and then turn it into unix time. I need to do this since the data are collected every evening (from 5pm through 2am the following morning). So if I were to use regular date/time format it would confound days (day1 spans two days when in fact it was just one evening of data collection). I'd like to consider each day's events separately.
Using unixtime will allow me to calculate time differences in events that occur each day (I will probably retain a date field in addition to the unix time). Can someone suggest an efficient way to do this?
Here is some data to use (this is in UTC)
dummy=data.frame(date="1-Jan-08",time="23:05")
Paste them together (which works vectorised) and then parse, e.g.
datetime <- paste(dummy$date, dummy$time)
parsed <- strptime(datetime, "%d-%b-%y %H:%M")
which you can also assign as columns in the data frame.
Edit: strptime() has an optional tz="" argument you can use.

Resources