de-vraag
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
 Kapsh
Kapsh
Question

Data w formacie YYYY-MM-DD w skrypcie powłoki

Próbowałem użyć $(date) w moim skrypcie powłoki bash, jednak chcę datę w formacie YYYY-MM-DD. Jak mogę to uzyskać?

1039 2009-09-09T19:06:56+00:00 3
 codeforester
codeforester
Edytowane pytanie 19. grudnia 2018 в 12:49
Programowanie
shell
date
bash
strftime
Popular videos
Kurs PHP odc. 4: Przetwarzanie daty i czasu serwera
Kurs PHP odc. 4: Przetwarzanie daty i czasu serwera
5 lat temu
« Poprzedni
Następny »
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Solution / Answer
Philip Fourie
Philip Fourie
9. września 2009 в 7:08
2009-09-09T19:08:57+00:00
Więcej
Źródło
Edytuj
#9459948

W bashu (>=4.2) preferowane jest używanie wbudowanego formatyzatora daty printf's (część basha) zamiast zewnętrznego date (zwykle GNU date).

Jako takie:

# put current date as yyyy-mm-dd in $date
# -1 -> explicit current date, bash >=4.3 defaults to current time if not provided
# -2 -> start time for shell
printf -v date '%(%Y-%m-%d)T\n' -1 

# put current date as yyyy-mm-dd HH:MM:SS in $date
printf -v date '%(%Y-%m-%d %H:%M:%S)T\n' -1 

# to print directly remove -v flag, as such:
printf '%(%Y-%m-%d)T\n' -1
# -> current date printed to terminal

W bash (<4.2):

# put current date as yyyy-mm-dd in $date
date=$(date '+%Y-%m-%d')

# put current date as yyyy-mm-dd HH:MM:SS in $date
date=$(date '+%Y-%m-%d %H:%M:%S')

# print current date directly
echo $(date '+%Y-%m-%d')

Inne dostępne formaty daty można zobaczyć na stronach date man (dla zewnętrznych poleceń nie związanych z bashem):

man date
 flindeberg
flindeberg
Edytowana odpowiedź 12. lipca 2019 в 11:53
1734
0
 kwatford
kwatford
9. września 2009 в 7:11
2009-09-09T19:11:01+00:00
Więcej
Źródło
Edytuj
#9459949

Spróbuj: $(data +%F).

318
0
Anonimowy użytkownik
9. września 2009 в 7:08
2009-09-09T19:08:32+00:00
Więcej
Źródło
Edytuj
#9459947

Możesz zrobić coś takiego:

$ date +'%Y-%m-%d'
 Undo
Undo
Edytowana odpowiedź 14. października 2013 в 9:29
81
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
Jasur Fozilov
Zarejestrowany 8 godzin temu
2
Zuxriddin Muydinov
Zarejestrowany 23 godziny temu
3
Денис Анненский
Zarejestrowany 3 dni temu
4
365
Zarejestrowany 1 tydzień temu
5
True Image
Zarejestrowany 1 tydzień temu
CS
DA
DE
EL
ES
FR
ID
IT
JA
LT
NL
PL
PT
RU
SK
TR
ZH
© de-vraag 2022
Źródło
stackoverflow.com
na podstawie licencji cc by-sa 3.0 z przypisaniem