17 votes

Comment coller automatiquement la date du jour avec un raccourci clavier ?

Je suis sur El Capitan OS X.

Je veux pouvoir appuyer sur un raccourci clavier et faire en sorte que la date du jour s'affiche automatiquement.

Exemple :

Lorsque j'appuie sur Option + D, "2016_06_13" est collé dans le champ de texte.

La date serait automatiquement calculée en fonction de mon fuseau horaire.

Idéalement, j'aimerais pouvoir le faire de manière universelle. Dans le Finder, Safari, TextEdit, etc., et non pas dans un seul programme.

Avoir ce raccourci simplifierait mon flux de travail.

Est-ce possible ?

19voto

Joonas Points 2368

Vous pourriez le faire avec Automator comme ceci :

  1. Créer un nouveau : Services
  2. Les services reçoivent no input sur any application
  3. Utilisez la recherche pour trouver et ajouter des actions : Run Applescript
    • Copiez et collez le texte suivant dans le champ de droite :

tell application "System Events"
    set _Date to (current date)
    keystroke ¬
        (year of _Date as text) & "_" & ¬
        text -2 thru -1 of ("00" & ((month of _Date) as integer)) & "_" & ¬
        (day of _Date as text)
end tell

Notez que le day n'aura pas de zéro en tête comme le month fait. Si vous voulez cela, vous pouvez remplacer la ligne par : (day of _Date as text) avec : text -2 thru -1 of ("00" & ((day of _Date) as integer))


  1. Économisez avec : Cmd + S . Donnez-lui un nom dont vous pourrez vous souvenir à l'étape suivante.
    • Si vous utilisez simplement le Save ( Cmd + S ) au lieu de Save as... le fichier de service est automatiquement placé au bon endroit.

enter image description here

La dernière étape consiste à définir un raccourci pour le service que vous venez de créer.

Aller au mac System preferences > Keyboard > Shortcuts > Services puis retrouvez le service que vous avez enregistré auparavant. Vous devriez le trouver dans la partie inférieure de la liste. Double-cliquez sur le none à droite du nom du service et donnez-lui un raccourci.

0 votes

Serait-il possible d'apprendre à le faire sans l'interférence du presse-papiers ?

0 votes

La sphère de @rubik a mis à jour la réponse.

1 votes

Il y a maintenant une erreur : "System Events got an error : com.automator.runner.xpc is not allowed to send keystrokes." lié : forums.developer.apple.com/thread/106949

16voto

Javaxpert Points 1107

Je voulais utiliser le format de la date du système par souci de cohérence, plutôt que de le programmer dans le raccourci.

Il faut environ 30 secondes pour le mettre en place.


Dans Automator (dossier Applications)

  1. Nouveau service

  2. Reçoit aucune entrée dans toute application

  3. Traînée Exécuter Applescript de la section Utilitaires à gauche dans le volet de droite

  4. Vérifiez La sortie remplace le texte sélectionné en haut du volet de droite

  5. Dans la fenêtre Applescript remplacer tout le texte avec

    on run {input, parameters} set _date to short date string of (current date) tell application "System Events"     keystroke _date end tell end run

  6. Enregistrez le service en tant que Date courte flux de travail

enter image description here

Sur Préférences système > Clavier Raccourcis

  1. Cliquez sur Services à gauche

  2. Date courte seront répertoriés sous Texte dans le panneau de droite

  3. Ajouter un combinaison de touches pour le nouveau service Short Date

enter image description here

Sur Préférences système > Lanuage & Région Avancé

  1. Cliquez sur le Dates onglet

  2. Modifiez le Court : le format souhaité

  3. Cliquez sur OK

enter image description here

Note : ce système dépend du menu Services sous le menu Application. Lorsque le menu n'est pas accessible, le service ne l'est pas non plus. Il ne fonctionne pas, par exemple, dans la boîte de dialogue d'ouverture et de sauvegarde.

0 votes

Que puis-je faire pour savoir pourquoi cela ne fonctionne pas pour moi ? :/

0 votes

Vous devriez voir "short date" dans le menu des services, sous le menu de l'application que vous utilisez. Je suis dans Chrome en ce moment, et sous "Chrome ' Services", je vois "Short Date". Dans certains contextes, cela ne fonctionne pas, comme dans la boîte de dialogue d'ouverture et d'enregistrement. J'aurais dû le mentionner dans ma réponse, et je vais la modifier.

1 votes

Automator is not allowed to send keystrokes

8voto

eplt Points 61
  1. Créer une action rapide avec Automator. Capture d'écran ci-dessous.
  2. Définissez les paramètres d'accessibilité dans Préférences système > Sécurité et confidentialité > Confidentialité.
  3. Attribuez un raccourci clavier à l'action rapide. (J'ai affecté le mien à D pour Shortdate ((D)ate) et T pour Longdate (date + (T)ime), j'en ai même fait un pour 10 tirets -).

Je l'ai fait de cette façon pour éviter d'utiliser System Events Keystrokes, car il demandera la permission dans chaque application que vous utilisez. J'ai également évité d'utiliser les paramètres système pour le formatage de la date. Avec cette méthode, vous pouvez simplement éditer le format de sortie dans le cadre du script et vous pouvez affiner la sortie au-delà de la simple heure/date.

Exemples :

date +"%Y_%m_%d"
-- Your Desired Result: 2021_07_11
date +"%Y%m%d %H:%M"
-- Result: 20210711 11:51
date +"%Y%m%d"
-- Result: 20210711
date +"Today's Date: %Y_%m_%d"
-- Result: Today's Date: 2021_07_31
date -u +"%Y-%m-%dT%H:%M:%SZ"
-- Result: ISO 8601 Date - 2021-07-11T14:49:17Z
date "+DATE: %y/%m/%d%nTIME: %H:%M:%S"
-- Result: DATE: 21/07/11
           TIME: 22:48:10
date +"%Y%m%d"
-- Result: 20210711 (My preferred Shortdate format)
date +"%Y%m%d %H:%M"
-- Result: 20210711 22:58 (My preferred Longdate format)

SDate Quick Action Sample

1 votes

J'aime la simplicité et la polyvalence !

3 votes

Il est important d'activer "L'édition remplace le texte sélectionné" dans les paramètres du flux de travail (voir la capture d'écran). Sinon, la date ne sera pas insérée.

0 votes

@DanielPietzsch Merci. J'ai ajouté cela à ma réponse.

5voto

jared Points 51

Le moyen le plus simple que je connaisse pour y parvenir est d'utiliser des applications d'expansion de texte tierces. Personnellement, j'utilise Typinator avec une règle qui développe le mot dt (c'est-à-dire qu'il faut taper D puis T ) à {YYYY}_{MM}_{DD} qui est le format de remplacement de Typinator pour la date actuelle. Le programme utilise l'heure du système local et les fonctions d'accessibilité du système d'exploitation pour remplir presque tous les champs de texte. Il pourrait donc convenir à votre cas d'utilisation.

Il existe d'autres programmes qui font également cela, le plus connu d'entre eux étant probablement TextExpander. Lifehacker a un bon aperçu d'applications d'expansion de texte d'il y a quelques années qui peuvent valoir le coup d'œil.

Il est également possible d'accomplir ceci avec AppleScript et une application de lancement comme Alfred ou Quicksilver, comme dans cette réponse Mais pour moi, la commodité de pouvoir développer de nombreuses abréviations différentes avec une syntaxe et une interface utilisateur faciles à apprendre l'emporte sur les économies réalisées en utilisant AppleScript.

0voto

methode Points 1920

Les options ci-dessus fonctionnent bien jusqu'à Mojave. J'ai essayé d'insérer la date du jour dans l'application Rappels à l'aide d'une frappe au clavier et j'ai obtenu une erreur suggérant que l'automate n'a pas les autorisations nécessaires pour exécuter une commande par frappe au clavier. Pour l'autoriser, allez dans "Paramètres système -> Sécurité et confidentialité -> Confidentialité -> Accessibilité -> Rappels". Il est ennuyeux qu'il n'autorise l'action que sur l'application spécifique mais cela semble être le cas.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X