Azure Data Lake Analytics-输出日期为+;0000而不是-0800

Azure Data Lake Analytics-输出日期为+;0000而不是-0800,azure,azure-data-lake,Azure,Azure Data Lake,我在Azure Data Lake Analytics表中有一个datetime列 我所有的输入数据都是UTC+0000。使用以下代码时,所有csv输出将日期转换为-0800 OUTPUT @data TO @"/data.csv" USING Outputters.Text(quoting : false, delimiter : '|'); 输出中的datatime示例: 2018-01-15T12:20:13.0000000-08:00 是否有控制日期输出格式的选项?我真的不明白为什么当

我在Azure Data Lake Analytics表中有一个datetime列

我所有的输入数据都是UTC+0000。使用以下代码时,所有csv输出将日期转换为-0800

OUTPUT @data
TO @"/data.csv"
USING Outputters.Text(quoting : false, delimiter : '|');
输出中的datatime示例:

2018-01-15T12:20:13.0000000-08:00


是否有控制日期输出格式的选项?我真的不明白为什么当传入的数据不在时,所有的东西都突然在-0800中。

目前,ADLA没有在DateTime中存储时区信息,这意味着在读取时它将始终默认为集群机器的本地时间(-8:00)。因此,您可以通过运行

DateTime.SpecifyKind(myDate, DateTimeKind.Local)    
或使用

DateTime.ConvertToUtc() 
以Utc格式输出(但请注意,下次接收相同的数据时,ADLA仍默认以偏移量-0800读取数据)。举例如下:

@getDates = 
EXTRACT
    id          int,
    date        DateTime
FROM "/test/DateTestUtc.csv"
USING Extractors.Csv();

@formatDates = 
SELECT
    id,
    DateTime.SpecifyKind(date, DateTimeKind.Local) AS localDate,
    date.ConvertToUtc() AS utcDate
FROM @getDates;


OUTPUT @formatDates
TO "/test/dateTestUtcKind_AllUTC.csv"
USING Outputters.Csv();
您可以在我们的计算机上提交带有偏移量的DateTime功能请求。如果您还有其他问题,请告诉我