Самый проголосовавший ответ предлагает использовать fromtimestamp, который подвержен ошибкам, поскольку он использует локальный часовой пояс. Чтобы избежать проблем, лучше использовать UTC:
datetime.datetime.utcfromtimestamp(posix_time).strftime('%Y-%m-%dT%H:%M:%SZ')
Где posix_time - это эпоха эпохи Posix, которую вы хотите преобразовать
Похоже, что ваш DateSeparator
вашего CurrentCulture
- -
, и поэтому символ /
заменит его на него.
] "/"
Спецификатор специального формата имеет особое значение как заменить меня текущей культурой или предоставленным сепаратором даты культуры.
У вас есть несколько вариантов, вы либо избегаете его одиночными кавычками (или \/
в текстовом литерале строки), либо используйте культуру с /
как DateSeparator
, например InvariantCulture
.
string s = DateTime.Now.ToString("M'/'d'/'yyyy");
string s = DateTime.Now.ToString(@"M\/d\/yyyy");
string s = DateTime.Now.ToString("M/d/yyyy", CultureInfo.InvariantCulture);