Utils.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using Newtonsoft.Json.Linq;
  2. using PTMedicalInsurance.Variables;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace PTMedicalInsurance.Common
  9. {
  10. public class Utils
  11. {
  12. /// <summary>
  13. /// 日期转换为时间戳Timestamp
  14. /// </summary>
  15. /// <param name="dateTime">要转换的日期</param>
  16. /// <returns></returns>
  17. public static long GetTimeStamp(DateTime dateTime)
  18. {
  19. DateTime _dtStart = new DateTime(1970, 1, 1, 8, 0, 0);
  20. //10位的时间戳
  21. long timeStamp = Convert.ToInt32(dateTime.Subtract(_dtStart).TotalSeconds);
  22. //13位的时间戳
  23. //long timeStamp = Convert.ToInt64(dateTime.Subtract(_dtStart).TotalMilliseconds);
  24. return timeStamp;
  25. }
  26. /// <summary>
  27. /// UTC时间戳Timestamp转换为北京时间
  28. /// </summary>
  29. /// <param name="timestamp">要转换的时间戳</param>
  30. /// <returns></returns>
  31. public static DateTime GetDateTime(long timestamp)
  32. {
  33. //DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
  34. //使用上面的方式会显示TimeZone已过时
  35. DateTime dtStart = TimeZoneInfo.ConvertTime(new DateTime(1970, 1, 1), TimeZoneInfo.Local);
  36. DateTime targetDt = dtStart.AddMilliseconds(timestamp).AddHours(8);
  37. return targetDt;
  38. }
  39. public static void convertTimestamp(JObject joObject,string key)
  40. {
  41. if (joObject.ContainsKey(key))
  42. {
  43. Global.writeLog(string.Format("当前对象[{0}]的类型为:{1}", key, joObject.GetValue(key).Type.GetType()));
  44. }
  45. if (joObject.ContainsKey(key) && joObject.GetValue(key).Type.GetType() != typeof(string))
  46. {
  47. long timestamp = long.Parse(joObject.GetValue(key).ToString());
  48. string datetime = Utils.GetDateTime(timestamp).ToString("yyyy-MM-dd");
  49. joObject[key] = datetime;
  50. Global.writeLog(string.Format("转换后的日期为:{0}",datetime));
  51. }
  52. }
  53. public static JObject Wrapper(JObject jsonInParam)
  54. {
  55. dynamic request = new JObject();
  56. request.arg0 = jsonInParam;
  57. return request;
  58. }
  59. public static JObject removeWrapper(JObject jsonInParam)
  60. {
  61. if (jsonInParam.ContainsKey("arg0"))
  62. {
  63. return (JObject)jsonInParam.GetValue("arg0");
  64. }
  65. return jsonInParam;
  66. }
  67. }
  68. }