Chcę sformatować datę jako mm/dd/yyyy
. Wypróbowałem następujące i żadna z nich nie działa. Czy ktoś może mi w tym pomóc?
odniesienie: ui-date
<input ui-date ui-date-format="mm/dd/yyyy" ng-model="valueofdate" />
<input type="date" ng-model="valueofdate" />
angularjs
date
format
date-format
datefilter
użytkownik16
źródło
źródło
ui-date-format="mm/dd/yyyy"
całkowicie usunąć ? Wygląda na to, że domyślne zachowanie bez tej opcji jest tym, czego chcesz.$formatters
i$parsers
na tę odpowiedź rozwiązało mój podobny problem.Odpowiedzi:
Angular.js ma wbudowany filtr daty.
próbny
Możesz zobaczyć obsługiwane formaty dat w źródle filtru dat .
edytuj :
Jeśli próbujesz uzyskać prawidłowy format w Datepicker (nie jest jasne, jeśli używasz DatePicker lub po prostu próbujesz użyć jego programu formatującego), te obsługiwane ciągi formatów są tutaj: https://api.jqueryui.com/datepicker/
źródło
Jeśli nie masz pola wejściowego, a chcesz po prostu wyświetlić datę w postaci ciągu z odpowiednim formatowaniem, możesz po prostu:
aw pliku js użyj:
Spowoduje to przekonwertowanie daty w ciągu na nowy obiekt daty w javascript i wyświetlenie daty w formacie MM / dd / rrrr.
Wyjście: 15.12.2014
Edycja
Jeśli używasz ciągu znaków daty w formacie „2014-12-19 20:00:00” (przekazywanych z zaplecza PHP), powinieneś zmodyfikować kod na następujący: https://stackoverflow.com / a / 27616348/1904479
Dodawanie dalej
Z javascript możesz ustawić kod jako:
to jest na wypadek, gdybyś już miał ze sobą randkę, w przeciwnym razie możesz użyć następującego kodu, aby uzyskać aktualną datę systemową:
Więcej informacji na temat formatów dat można znaleźć pod adresem : https://docs.angularjs.org/api/ng/filter/date
źródło
Używam tego i działa dobrze.
źródło
To nie jest dokładnie to, o co prosisz - ale możesz spróbować utworzyć pole wprowadzania daty w html, na przykład:
Następnie, aby wydrukować to na stronie, której używałbyś:
Wreszcie w moim kontrolerze zadeklarowałem metodę, która tworzy datę na podstawie wartości wejściowej (która w chrome jest najwyraźniej analizowana 1 dzień wolny):
Więc masz to. Aby zobaczyć, jak wszystko działa, zobacz następujący plunker: http://plnkr.co/edit/8MVoXNaIDW59kQnfpaWW?p=preview. Powodzenia!
źródło
To zadziała:
UWAGA: po ich zastąpieniu pozostała data / milis zostanie zamieniona na podany foramt.
źródło
patrz angular
date
api: AngularJS API: dataThe Angular -
date
filtr:Stosowanie:
Przykład:
Kod:
Wynik:
źródło
Używam filtra
następnie
źródło
Po prostu przekaż format daty UTC z kodu po stronie serwera do klienta
i użyj poniższej składni -
źródło
Po zapoznaniu się ze wszystkimi powyższymi rozwiązaniami, najszybszym rozwiązaniem było dla mnie poniższe. Jeśli używasz materiału kątowego:
Aby ustawić format:
Edycja: Musisz również ustawić parseDate do wpisania daty (z tej odpowiedzi Zmień format md-datepicker w Angular Material )
źródło
Tutaj nazwa kontrolera to „myController”, a nazwa aplikacji to „myApp”.
Wynik będzie wyglądał następująco: - * 10-29-2010 * 01-03-2013
źródło
Ok, problem wydaje się pochodzić z tej linii:
https://github.com/angular-ui/ui-date/blob/master/src/date.js#L106 .
Właściwie ta linia to powiązanie z interfejsem użytkownika jQuery, w którym powinno być miejsce do wstrzyknięcia formatu danych.
Jak widać,
var opts
nie istnieje żadna właściwośćdateFormat
o wartości z formatu ng-date-format, jak można się spodziewać.W każdym razie dyrektywa ma stałą wywoływaną
uiDateConfig
do dodawania właściwościopts
.Elastyczne rozwiązanie (zalecane):
Z tego miejsca widać, że można wstawić kilka opcji wprowadzających do dyrektywy zmienną kontrolera z opcjami jquery ui.
Rozwiązanie zakodowane na stałe:
Jeśli nie chcesz cały czas powtarzać tej procedury, zmień wartość
uiDateConfig
in date.js na:źródło
Miałem ten sam problem i tak jak powyższe komentarze, pomyślałem, że w JavaScript musi być metoda natywna. Rzecz w tym, że
new Date(valueofdate)
zwraca obiekt Date.Ale sprawdź http://www.w3schools.com/js/js_date_formats.asp , część, która mówi zera wiodącego. Data z łańcucha, na przykład echo z PHP, musi wyglądać następująco:
Spowoduje to przekazanie na przykład ciągu znaków:
'1999-3-3'
a JavaScript wykona analizę do obiektu o odpowiednim formacie zLink do PHP dla formatów dat: http://www.w3schools.com/php/func_date_date_format.asp .
źródło
ng-bind="reviewData.dateValue.replace('/Date(','').replace(')/','') | date:'MM/dd/yyyy'"
Użyj tego powinno działać dobrze. :) Pola reviewData i dateValue mogą być zmieniane, ponieważ reszta parametru może pozostać taka sama
źródło
źródło
źródło