J'ai la chaîne "9:00 AM". Je voudrais obtenir le décalage de minuit comme un TimeSpan en C#?Comment puis-je obtenir le décalage en tant que TimeSpan si j'ai seulement l'heure comme une chaîne, comme 09:00 AM
Répondre
Temps d'exécution? Un laps de temps est juste une période de temps. Le "AM" montre que c'est un moment spécifique, donc cela ne peut pas être une période de temps. Ou voulez-vous analyser "9:00", sans le "AM", et obtenir une durée de 9 heures comme résultat?
@Your commentaire:
Vous pouvez utiliser une méthode qui fait cela pour vous. Voici une implémentation simple exemple (vous devez ajouter une meilleure validation des entrées, utiliser mieux convertir les méthodes que juste Convert.ToInt32() et ainsi de suite):
public static TimeSpan GetTimeSpanFormString(string strString)
{
strString = strString.Trim();
string[] strParts = strString.Split(':', ' ');
int intHours, intMinutes;
if (strParts.Length != 3)
throw new ArgumentException("The string is not a valid timespan");
intHours = strParts[2].ToUpper() == "PM" ? Convert.ToInt32(strParts[0]) + 12 : Convert.ToInt32(strParts[0]);
intMinutes = Convert.ToInt32(strParts[1]);
return new TimeSpan(intHours, intMinutes, 0);
}
TimeSpan.TryParse(yourString, out yourTimeSpan);
9:00 AM
est un moment ponctuel, alors que la structure TimeSpan représente des intervalles de temps afin que vous essayez de convertir des pommes avec des oranges.
+1 Votre réponse était tout à fait correcte par rapport à la question originale, mais d'après les commentaires du PO, j'ai mis à jour la question pour refléter ce qu'il veut vraiment. – tvanfosson
Si vous voulez que le décalage par rapport à minuit, vous pouvez utiliser:
DateTime dateTime = DateTime.ParseExact(strValue, "h:mm tt");
TimeSpan offset = dateTime - DateTime.Today;
- 1. comment obtenir la valeur par défaut d'un type si le type est seulement connu comme System.Type?
- 2. flex obtenir le contenu de arraycollection en tant que chaîne
- 3. DateTime Format comme HH: mm 24 heures sans AM/PM
- 4. PHP GD: Comment obtenir imagedata en tant que chaîne binaire?
- 5. Comment obtenir que Vim traite les traits de soulignement d'une chaîne comme une rupture de mot?
- 6. Hibernate: Persist un objet comme une chaîne?
- 7. utiliser vue seulement comme modèle
- 8. Comment faire une application Android en tant que fichier exécutable comme JAR en Java?
- 9. Enum comme drapeau à l'aide, le réglage et décalage
- 10. Comment convertir une chaîne comme "Red" en System.Windows.Media.Color?
- 11. Exécuter une chaîne en tant que commande en python
- 12. Obtenir optarg en tant qu'objet chaîne C++
- 13. Comment utiliser Brail en tant que moteur de modélisation de type universel (comme NVelocity)?
- 14. Comment transmettre une variable de chaîne en tant que TSysCharSet
- 15. enregistrez une chaîne en tant que fichier csv?
- 16. Comment puis-je obtenir une page HTML en tant que chaîne via PHP?
- 17. Comment puis-je obtenir un fragment XML en tant que chaîne à partir d'un XElement?
- 18. CodeIgniter Form Validation - Obtenir le résultat en tant que "tableau" Au lieu de "chaîne"
- 19. En Perl, comment savoir si mon fichier est utilisé en tant que module ou en tant que script?
- 20. comment puis-je déterminer si un script python est importé en tant que module ou exécuté en tant que script?
- 21. Comment obtenir une listview WPF pour formater un tableau d'octets en tant que chaîne délimitée par des virgules?
- 22. définir une chaîne d'animations en tant que variable
- 23. en utilisant la classe comme une propriété?
- 24. Comment diviser une chaîne avec des caractères blancs comme délimiteurs?
- 25. Est-ce que SqlDataReader stocke tout en tant que chaîne?
- 26. E4X: Utiliser une chaîne comme nom d'attribut dans l'expression?
- 27. Timespan mise en forme
- 28. La variable Javascript est assignée comme [objet HTMLDivElement] plutôt que comme chaîne?
- 29. Le décalage de bits gauche 255 (en tant qu'octet)
- 30. Comment faire pour obtenir le décalage horaire dans l'iPhone
Mise à jour d'après les commentaires de OP à une réponse. – tvanfosson