/// <summary> /// Convert to a postgresql date. /// </summary> internal static String ToDate(NpgsqlNativeTypeInfo TypeInfo, Object NativeData, Boolean ForExtendedQuery) { if (!(NativeData is DateTime)) { return(ExtendedNativeToBackendTypeConverter.ToDate(TypeInfo, NativeData, ForExtendedQuery)); } return(((DateTime)NativeData).ToString("yyyy-MM-dd", DateTimeFormatInfo.InvariantInfo)); }
/// <summary> /// Convert to a postgresql timestamp. /// </summary> internal static String ToDateTime(NpgsqlNativeTypeInfo TypeInfo, Object NativeData, Boolean ForExtendedQuery) { if (!(NativeData is DateTime)) { return(ExtendedNativeToBackendTypeConverter.ToTimeStamp(TypeInfo, NativeData, ForExtendedQuery)); } if (DateTime.MaxValue.Equals(NativeData)) { return("infinity"); } if (DateTime.MinValue.Equals(NativeData)) { return("-infinity"); } var dt = (DateTime)NativeData; //HACK: detect dates if (dt.Date == dt) { return(dt.ToString("yyyy-MM-dd", DateTimeFormatInfo.InvariantInfo)); } return(dt.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss.FFFFFF+00", DateTimeFormatInfo.InvariantInfo)); }